Kaip naudoti Upper_bound() funkciją C++

Kaip Naudoti Upper Bound Funkcija C



Naudojant C++ programavimo kalbą galima sukurti įvairias programas, įskaitant žaidimus, grafiką, žiniatinklio serverius ir kt. Tačiau kartais mums gali tekti atlikti tam tikras operacijas su mūsų programų duomenimis, pvz., ieškoti, rūšiuoti arba rasti didžiausią arba mažiausią įvairių elementų vertę. Viena iš funkcijų, kurią galima naudoti norint rasti viršutinę vertės ribą surūšiuotame elementų diapazone, yra viršutinė_ribos ().

Kas yra Upper_bound() funkcija C++

Funkcija viršutinis_ribos() C++ yra funkcija, kuri paima surūšiuotą elementų diapazoną ir reikšmę kaip argumentus ir grąžina iteratorių, nukreipiantį į pirmąjį diapazono elementą, kuris yra didesnis už reikšmę.







Jis turi dviejų skirtingų tipų argumentus:



viršutinis_ribos skaičius ( ant vieno. Pirmas , ant vieno. paskutinis , vertė )

Iteratoriai, nurodantys tiriamų elementų diapazoną, yra pirmieji ir paskutiniai. Naudojamas intervalas apima visus elementus nuo pirmojo elemento iki pabaigos, bet neapima elemento, pažymėto paskutiniu. Vertė yra vertė, su kuria reikia palyginti elementus.



viršutinis_ribos skaičius ( ant vieno. Pirmas , ant vieno. paskutinis ,  vertė, palyginkite komp )

Šiuo atveju dvejetainė funkcija comp sukuria reikšmę, kurią galima konvertuoti į bool ir priima du to paties tipo parametrus kaip diapazono elementus. Jei tam tikra sąlyga nurodo, kad pirmasis argumentas yra ne didesnis nei antrasis, funkcija turi grąžinti teisingą rezultatą, o jei ne, – klaidingą.





Kaip naudoti Upper_bound() funkciją C++

Funkcija viršutinė_ribos() gali būti naudojama norint rasti viršutinę vertės ribą surūšiuotame elementų diapazone įvairiose situacijose. Pavyzdžiui, galime jį naudoti norėdami rasti elemento padėtį surūšiuotame masyve arba vektoriuje arba rasti kitą didesnį elementą rinkinyje ar žemėlapyje. Štai keli pavyzdžiai, kaip naudoti viršutinę_ribos() funkciją C++:

1 pavyzdys: funkcijos viršutinis_ribos() naudojimas norint rasti elemento padėtį surūšiuotame masyve

Štai pavyzdys, kuris naudoja viršutinę_ribos() funkciją, kad surastų elemento padėtį surūšiuotame sveikųjų skaičių masyve ir parodytų jį ekrane:



#include

#include

naudojant vardų erdvė std ;

tarpt pagrindinis ( )

{

tarpt masyvas [ ] = { penkiolika , 35 , Keturi. Penki , 55 , 65 } ;

tarpt a = dydis ( masyvas ) / dydis ( masyvas [ 0 ] ) ;

cout << 'Masyve yra: ' ;

dėl ( tarpt i = 0 ; i < a ; i ++ )

cout << masyvas [ i ] << ' ' ;

cout << \n ;

tarpt b = Keturi. Penki ; // deklaruoti ir inicijuoti reikšmę

tarpt * p = viršutinė_riba ( masyvas, masyvas + a, b ) ;

cout << 'Viršutinė riba' << b << ' yra padėtyje: ' << ( p - masyvas ) << \n ; // rodyti padėtį naudojant žymeklio aritmetiką

grąžinti 0 ;

}

Pirmiausia programa apibrėžia reikiamus antraštės failus ir masyvą, kuriame yra skaičiai, o tada naudoja sizeof() funkciją, kad gautų masyvo dydį. Toliau masyvo elementams rodyti naudojamas ciklas for, o tada deklaruojamas sveikasis skaičius, kurio padėtis masyve nustatoma naudojant žymeklį ir rodoma išvestyje:

2 pavyzdys: Funkcijos viršutinis_ribos() naudojimas norint rasti kitą didesnį rinkinio elementą

Pateikiame kodo pavyzdį, kuris naudoja viršutinę_ribos () funkciją, kad surastų kitą didesnį elementą už nurodytą reikšmę sveikųjų skaičių rinkinyje ir parodytų jį ekrane:

#include

#include

#įtraukti

naudojant vardų erdvė std ;

tarpt pagrindinis ( )

{

rinkinys < tarpt > ant vieno = { penkiolika , 25 , 35 , Keturi. Penki , 55 } ; // deklaruoti ir inicijuoti sveikųjų skaičių aibę

cout << 'Duoti skaičiai:' ;

dėl ( automatinis a : ant vieno ) // rodyti rinkinio elementus naudojant diapazoną pagrįstą kilpą

cout << a << ' ' ;

cout << \n ;

tarpt a = Keturi. Penki ; // deklaruoti ir inicijuoti reikšmę

automatinis tai = viršutinė_riba ( ant vieno. pradėti ( ) , ant vieno. galas ( ) , a ) ; // suraskite viršutinę x ribą rinkinyje naudodami viršutinę_ribą ()

jeigu ( tai ! = ant vieno. galas ( ) ) // patikrinkite, ar iteratorius galioja

cout << „Kitas didesnis skaičius nei“ << a << 'yra' << * tai << \n ; // rodyti elementą naudojant nuorodos operatorių

Kitas

cout << „Nėra didesnio skaičiaus nei“ << a << \n ; // rodyti pranešimą, jei tokio elemento nerasta

grąžinti 0 ;

}

Pirmiausia kodas apibrėžia reikiamus antraštės failus, o tada apibrėžiamas penkių elementų vektorius, o tada vektorius rodomas naudojant automatinį raktinį žodį, nes jis gali automatiškai nustatyti elementų duomenų tipą. Toliau deklaruojamas kintamasis, kurio reikšmė yra 45, kuris tada lyginamas su vektoriumi, apibrėžtu naudojant viršutinę_ribos () funkciją, ir po to rodomas palyginimo rezultatas:

Išvada

Funkcija viršutinis_ribos() yra funkcija, kuri grąžina iteratorių, nukreipiantį į pirmąjį elementą surūšiuotame diapazone, kuris yra didesnis už nurodytą reikšmę. Norėdami rasti pirmąjį skaičių intervale, kuris yra didesnis arba lygus nurodytam skaičiui, naudokite C++ funkciją viršutinis_ribos(). Tai gali būti naudinga atliekant užduotis, pvz., ieškant kito didžiausio skaičiaus sąraše arba ieškant pirmojo elemento surūšiuotame masyve, kuris yra didesnis už nurodytą slenkstį.