Kas ir Low_Bound() metode C++

Kas Ir Low Bound Metode C



C++ programmēšanas valoda piedāvā plašu funkciju un metožu klāstu, kas tiek plaši izmantotas. Low_bound() metode ir viena no šādām funkcijām, kas tiek izmantota, lai atrastu pirmo dotās vērtības gadījumu šķirotā konteinerā. Šajā rakstā ir aprakstīta C++ metodes sintaksi, parametri, atgriešanas vērtības un koda paraugs metodei Lower_bound().

Kas ir apakšējā_ribas() metode?

Low_bound() metode programmā C++ atrod dotās vērtības pirmo reizi sakārtotā konteinerā. Tā ir daļa no C++ bibliotēkas un tiek izmantota, lai veiktu bināro meklēšanu masīvos, vektoros un citos sakārtotos konteineros. Low_bound() metode atgriež iteratoru, kas norāda uz pirmo elementu noteiktā konteinera diapazonā, kas nav mazāks par norādīto vērtību.

Sintakse







Metodei Lower_bound() programmā C++ ir divi varianti: noklusējuma un pielāgotā sintakse.



Noklusējuma sintakse

Noklusējuma sintakse izmanto ForwardIterator, kas attiecīgi norāda uz pirmo un aiz pēdējiem elementiem diapazonā, kas jāmeklē, un vērtību, lai salīdzinātu diapazona elementus.



ForwardIterator apakšējā robeža ( Vispirms ForwardIterator , ForwardIterator pēdējais , konst T & val ) ;

Pielāgota sintakse

Pielāgotā sintakse papildus izmanto lietotāja definētu bināro predikātu funkciju, kas seko stingrai vājai elementu secībai.





ForwardIterator apakšējā robeža ( Vispirms ForwardIterator , ForwardIterator pēdējais , konst T & val , Salīdziniet komp ) ;

Parametri

Low_bound() metodei C++ ir trīs parametri.

Pirmais Pēdējais: Pirmie divi parametri, “pirmais” un “pēdējais”, nosaka diapazonu [pirmais, pēdējais), kurā metode meklē apakšējo robežu. Diapazonu nosaka divi parametri, proti, “pirmais” un “pēdējais”. Diapazons ietver visus elementus starp “pirmo” un “pēdējo” iteratoru, bet neietver elementu, uz kuru norāda “pēdējais” iterators.



val: Trešais apakšējā_ribas() metodes parametrs tiek saukts par 'val'. Tas apzīmē apakšējās robežas vērtību, kas jāatrod norādītajā diapazonā. Kad tiek izsaukta metode Lower_bound(), tā meklē pirmo elementu norādītajā konteinera diapazonā, kas ir lielāks vai vienāds ar norādīto vērtību “val”.

kompozīcija: Low_bound() metode var arī pieņemt bināro salīdzināšanas funkciju kā savu ceturto parametru. Tam nepieciešami divi argumenti: tips, uz kuru norāda ForwardIterator , un otrais ir val . Pēc tam funkcija atgriež Būla vērtību, pamatojoties uz abu argumentu salīdzinājumu. Arguments comp nemaina nevienu no tā argumentiem, un tas var būt tikai funkcijas rādītājs vai funkcijas objekts.

Atdeves vērtība

Low_bound() atgriež iteratoru, kas norāda uz pirmo elementu, kas ir lielāks par vai vienāds ar val . Ja visi elementi norādītajā konteinera diapazonā ir mazāki par doto vērtību val , metode bottom_bound() atgriež iteratoru, kas norāda uz pēdējo elementu diapazonā, un, ja visi elementi ir lielāki par val , tas dod iteratoru, kas norāda uz pirmo elementu diapazonā.

Koda piemērs

Šis C++ kods parāda funkcijas std::lower_bound() izmantošanu, lai atrastu pirmo elementu sakārtotā vektorā, kas nav mazāks par doto vērtību.

#include

starpt galvenais ( )

{

// Ievades vektors

std :: vektors < dubultā > vērtības { 10 , piecpadsmit , divdesmit , 25 , 30 } ;

// Drukāt vektoru

std :: cout << 'Vektors satur:' ;

priekš ( neparakstīts starpt i = 0 ; i < vērtības. Izmērs ( ) ; i ++ )

std :: cout << ' ' << vērtības [ i ] ;

std :: cout << ' \n ' ;

std :: vektors < dubultā >:: iterators tas1 , tas2 , tas3 ;

// std :: apakšējā robeža

tas1 = std :: apakšējā robeža ( vērtības. sākt ( ) , vērtības. beigas ( ) , 13 ) ;

tas2 = std :: apakšējā robeža ( vērtības. sākt ( ) , vērtības. beigas ( ) , 23 ) ;

tas3 = std :: apakšējā_ robeža ( vērtības. sākt ( ) , vērtības. beigas ( ) , 33 ) ;

std :: cout

<< ' \n apakšējā_ robeža 13. elementam pozīcijā: '

<< ( tas1 - vērtības. sākt ( ) ) ;

std :: cout

<< ' \n apakšējā_ robeža 23. elementam pozīcijā: '

<< ( tas2 - vērtības. sākt ( ) ) ;

std :: cout

<< ' \n apakšējā_ robeža 33. elementam pozīcijā: '

<< ( tas3 - vērtības. sākt ( ) ) ;

atgriezties 0 ;

}

Kods sākas, definējot std::vektoru ar divu nosaukumu vērtībām un inicializējot to ar dažām vērtībām. Pēc tam tas izdrukā vektora elementus, izmantojot for cilpu.

Tālāk kods deklarē trīs std::vector::iterator mainīgos ar nosaukumu it1, it2 un it3. Šie mainīgie tiks izmantoti, lai saglabātu std::lower_bound() izsaukšanas rezultātus vērtību vektorā ar dažādiem argumentiem.

Funkcija std::lower_bound() tiek izsaukta ar trim dažādām vērtībām: 13, 23 un 33. Katrā izsaukumā Lower_bound() dod iteratoru, kas norāda uz vektora pirmo elementu, kas ir lielāks vai vienāds ar norādītā vērtība.

Pēc tam kods izdrukā šo elementu pozīcijas vektorā, atņemot vērtības.begin() iteratoru no iteratora, ko atgriež std::lower_bound(), kas dod elementa indeksu vektorā.

Izvade

Secinājums

Low_bound() metode programmā C++ atrod dotās vērtības pirmo reizi sakārtotā konteinerā. Tā ir daļa no C++ bibliotēkas , un to var izmantot, lai veiktu bināro meklēšanu masīvos, vektoros un citos sakārtotos konteineros. Metode dod iteratoru, kas norāda uz pirmo elementu diapazonā, kas nav mazāks par doto vērtību. Plašāku informāciju par zemākās_ribas() metodi lasiet šajā rakstā.