Izmantojot C++ programmēšanas valodu, var izveidot dažādas programmas, tostarp spēles, grafikas, tīmekļa serverus un daudz ko citu. Tomēr dažreiz mums var būt nepieciešams veikt dažas darbības ar datiem mūsu programmās, piemēram, meklēt, kārtot vai atrast maksimālo vai minimālo vērtību starp elementiem. Viena no funkcijām, ko var izmantot, lai atrastu vērtības augšējo robežu sakārtotā elementu diapazonā, ir augšējā_ robeža().
Kas ir Upper_bound() funkcija programmā C++
Funkcija augšējā_ robeža() programmā C++ ir funkcija, kas ņem sakārtotu elementu diapazonu un vērtību kā argumentus un atgriež iteratoru, kas norāda uz pirmo elementu diapazonā, kas ir lielāks par vērtību.
Tam ir divi dažādi argumentu veidi:
augšējais_saistību skaits ( uz viena. vispirms , uz viena. Pēdējais , vērtība )
Iteratori, kas norāda pārbaudāmo elementu diapazonu, ir pirmie un pēdējie. Izmantotais intervāls satur visus elementus no pirmā elementa līdz beigām, bet neietver elementu, kas norādīts ar pēdējo. Vērtība ir vērtība, ar kuru salīdzināt elementus.
augšējais_saistību skaits ( uz viena. vispirms , uz viena. Pēdējais , vērtība, salīdziniet sast )
Šajā gadījumā binārā funkcija comp rada vērtību, ko var pārvērst par būtību, un pieņem divus tāda paša veida parametrus kā diapazona vienumus. Ja noteikts nosacījums nosaka, ka pirmais arguments nav augstāks par otro, funkcijai ir jāatgriež patiess rezultāts, bet, ja nē, tad jāatgriež nepatiess.
Kā lietot augšējo_ robežu() funkciju programmā C++
Funkciju augšējā_ robeža() var izmantot, lai dažādās situācijās atrastu vērtības augšējo robežu sakārtotā elementu diapazonā. Piemēram, mēs varam to izmantot, lai atrastu elementa pozīciju sakārtotā masīvā vai vektorā vai atrastu nākamo lielāko elementu kopā vai kartē. Šeit ir daži piemēri, kā izmantot augšējo_ robežu() C++:
1. piemērs: funkcijas augšējā_ robeža() izmantošana, lai atrastu elementa pozīciju sakārtotā masīvā
Šeit ir piemērs, kurā tiek izmantota funkcija augšējā_ robeža(), lai atrastu elementa pozīciju sakārtotā veselu skaitļu masīvā un parādītu to ekrānā:
#include
#include
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
starpt masīvs [ ] = { piecpadsmit , 35 , Četri, pieci , 55 , 65 } ;
starpt a = izmērs ( masīvs ) / izmērs ( masīvs [ 0 ] ) ;
cout << 'Masīvs satur: ' ;
priekš ( starpt i = 0 ; i < a ; i ++ )
cout << masīvs [ i ] << ' ' ;
cout << ' \n ' ;
starpt b = Četri, pieci ; // deklarēt un inicializēt vērtību
starpt * lpp = augšējā_ robeža ( masīvs, masīvs + a, b ) ;
cout << 'Augšējā robeža' << b << ' atrodas pozīcijā: ' << ( lpp - masīvs ) << ' \n ' ; // parāda pozīciju, izmantojot rādītāja aritmētiku
atgriezties 0 ;
}
Vispirms programma definē nepieciešamos galvenes failus un masīvu, kurā ir skaitļi, un pēc tam izmanto funkciju sizeof(), lai iegūtu masīva lielumu. Tālāk tiek izmantota for cilpa, lai parādītu masīva elementus, un pēc tam tiek deklarēts vesels skaitlis, kura atrašanās vieta masīvā tiek noteikta, izmantojot rādītāju, un tas tiek parādīts izvadē:
2. piemērs: Funkcijas augšējā_ robeža() izmantošana, lai atrastu nākamo lielāko elementu kopā
Šeit ir koda piemērs, kas izmanto funkciju augšējo_ robežu(), lai veselu skaitļu kopā atrastu nākamo elementu, kas ir lielāks par doto vērtību, un parādītu to ekrānā:
#include#include
#iekļaut
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
komplekts < starpt > uz viena = { piecpadsmit , 25 , 35 , Četri, pieci , 55 } ; // deklarē un inicializē veselu skaitļu kopu
cout << 'Dotie skaitļi:' ;
priekš ( auto a : uz viena ) // parāda kopas elementus, izmantojot diapazonu cilpu
cout << a << ' ' ;
cout << ' \n ' ;
starpt a = Četri, pieci ; // deklarēt un inicializēt vērtību
auto to = augšējā_ robeža ( uz viena. sākt ( ) , uz viena. beigas ( ) , a ) ; // atrodiet x augšējo robežu kopā, izmantojot augšējo_ robežu()
ja ( to ! = uz viena. beigas ( ) ) // pārbaudiet, vai iterators ir derīgs
cout << 'Nākamais lielāks skaitlis nekā' << a << 'ir' << * to << ' \n ' ; // parāda elementu, izmantojot atsauces operatoru
cits
cout << 'Nav lielāka skaitļa par' << a << ' \n ' ; // parādīt ziņojumu, ja šāds elements nav atrasts
atgriezties 0 ;
}
Vispirms kods definē nepieciešamos galvenes failus un pēc tam tiek definēts piecu elementu vektors, pēc tam vektors tiek parādīts, izmantojot automātisko atslēgvārdu, jo tas var automātiski iestatīt elementu datu tipu. Pēc tam tiek deklarēts mainīgais ar vērtību 45, kas pēc tam tiek salīdzināts ar vektoru, kas definēts, izmantojot funkciju augšējo_ robežu (), un pēc tam tiek parādīts salīdzināšanas rezultāts:
Secinājums
Funkcija augšējā_ robeža () ir funkcija, kas atgriež iteratoru, kas norāda uz pirmo elementu sakārtotā diapazonā, kas ir lielāks par doto vērtību. Lai atrastu pirmo skaitli intervālā, kas ir lielāks vai vienāds ar noteiktu skaitli, izmantojiet C++ funkciju augšējo_ robežu(). Tas var būt noderīgi tādiem uzdevumiem kā nākamā lielākā skaitļa atrašana sarakstā vai pirmā elementa atrašana sakārtotā masīvā, kas ir lielāks par doto slieksni.