Funktsiooni Upper_bound() kasutamine C++-s

Funktsiooni Upper Bound Kasutamine C S



Programmeerimiskeele C++ abil saab teha mitmesuguseid programme, sealhulgas mänge, graafikat, veebiservereid ja palju muud. Mõnikord võib meil aga olla vaja teha oma programmides olevate andmetega mõningaid toiminguid, nagu otsimine, sortimine või elementide vahemikust maksimaalse või minimaalse väärtuse leidmine. Üks funktsioonidest, mida saab kasutada sorteeritud elementide vahemikus väärtuse ülemise piiri leidmiseks, on up_bound().

Mis on C++ funktsioon augšējā_piir()?

C++ funktsioon augšējā_piir() on funktsioon, mis võtab argumentidena sorteeritud elementide vahemiku ja väärtuse ning tagastab iteraatori, mis osutab vahemiku esimesele väärtusest suuremale elemendile.







Sellel on kahte erinevat tüüpi argumente:



ülemine_piir ( ühel. esiteks , ühel. viimane , väärtus )

Iteraatorid, mis määravad uuritavate elementide vahemiku, on esimesed ja viimased. Kasutatav intervall sisaldab kõiki elemente alates esimesest elemendist kuni lõpuni, kuid ei sisalda elementi, mida tähistab viimane. Väärtus on väärtus, millega elemente võrrelda.



ülemine_piir ( ühel. esiteks , ühel. viimane ,  väärtus, võrdle komp )

Sel juhul loob binaarfunktsioon comp väärtuse, mille saab teisendada tõeväärtuseks ja mis aktsepteerib kahte sama tüüpi parameetrit kui vahemiku elemendid. Kui teatud tingimus nõuab, et esimene argument ei ole teisest kõrgem, peab funktsioon tagastama tõese tulemuse ja kui mitte, siis tagastama vale.





Funktsiooni augš_piir() kasutamine C++-s

Funktsiooni augšējā_piir() saab kasutada sorditud elementide vahemikust väärtuse ülemise piiri leidmiseks erinevates olukordades. Näiteks saame seda kasutada elemendi asukoha leidmiseks sorteeritud massiivist või vektorist või järgmise suurema elemendi leidmiseks komplektis või kaardil. Siin on mõned näited selle kohta, kuidas kasutada C++-s funktsiooni augšējā_piir():

Näide 1: Funktsiooni ylä_piir() kasutamine sorteeritud massiivi elemendi asukoha leidmiseks

Siin on näide, mis kasutab funktsiooni augšējā_piir() elemendi asukoha leidmiseks sorteeritud täisarvude massiivist ja selle kuvamiseks ekraanil:



#include

#include

kasutades nimeruum std ;

int peamine ( )

{

int massiivi [ ] = { viisteist , 35 , Neli, viis , 55 , 65 } ;

int a = suurus ( massiivi ) / suurus ( massiivi [ 0 ] ) ;

cout << 'Massiiv sisaldab:' ;

jaoks ( int i = 0 ; i < a ; i ++ )

cout << massiivi [ i ] << ' ' ;

cout << ' \n ' ;

int b = Neli, viis ; // väärtuse deklareerimine ja lähtestamine

int * lk = ülemine_piir ( massiiv, massiiv + a, b ) ;

cout << 'ülemine piir' << b << ' on asukohas: ' << ( lk - massiivi ) << ' \n ' ; // asukoha kuvamine kursori aritmeetika abil

tagasi 0 ;

}

Esmalt defineerib programm vajalikud päisefailid ja numbreid sisaldavad massiivi ning seejärel kasutab massiivi suuruse leidmiseks funktsiooni sizeof(). Järgmisena kasutatakse massiivi elementide kuvamiseks tsüklit for ja seejärel deklareeritakse täisarv, mille asukoht massiivis määratakse kursori abil ja see kuvatakse väljundis:

Näide 2: Funktsiooni augšējā_piir() kasutamine komplektist järgmise suurema elemendi leidmiseks

Siin on näide koodist, mis kasutab täisarvude komplektist antud väärtusest järgmise suurema elemendi leidmiseks ja ekraanil kuvamiseks funktsiooni augšējā_piir():

#include

#include

#include

kasutades nimeruum std ;

int peamine ( )

{

seatud < int > ühel = { viisteist , 25 , 35 , Neli, viis , 55 } ; // deklareerib ja initsialiseerib täisarvude hulga

cout << 'Antud numbrid:' ;

jaoks ( auto a : ühel ) // kuvab seatud elemendid vahemikupõhise tsükli abil

cout << a << ' ' ;

cout << ' \n ' ;

int a = Neli, viis ; // väärtuse deklareerimine ja lähtestamine

auto seda = ülemine_piir ( ühel. alustada ( ) , ühel. lõpp ( ) , a ) ; // leidke hulgast x-i ülemine piir, kasutades ülemist_piir()

kui ( seda ! = ühel. lõpp ( ) ) // kontrollige, kas iteraator on kehtiv

cout << 'Järgmine suurem arv kui' << a << ' on ' << * seda << ' \n ' ; // elemendi kuvamine viiteoperaatori abil

muidu

cout << 'Pole olemas suuremat numbrit kui' << a << ' \n ' ; // kuvab teate, kui sellist elementi ei leitud

tagasi 0 ;

}

Kõigepealt defineerib kood vajalikud päisefailid ja seejärel defineeritakse viiest elemendist koosnev vektor, järgmiseks kuvatakse vektor, kasutades automaatset märksõna, kuna see saab automaatselt määrata elementide andmetüübi. Järgmisena deklareeritakse muutuja väärtusega 45, mida võrreldakse funktsiooniga Upper_bound() defineeritud vektoriga ja seejärel kuvatakse võrdlustulemus:

Järeldus

Funktsioon augšējā_piir() on funktsioon, mis tagastab iteraatori, mis osutab sorditud vahemiku esimesele elemendile, mis on suurem kui etteantud väärtus. Esimese numbri leidmiseks intervallis, mis on määratud arvust suurem või sellega võrdne, kasutage C++-s funktsiooni augšējā_piir(). See võib olla kasulik selliste ülesannete puhul nagu loendi suuruselt järgmise arvu leidmine või sorditud massiivi esimese elemendi leidmine, mis on suurem kui etteantud lävi.