Mis on alumine_piir() meetod?
C++ meetod alumine_piir() leiab sorditud konteineris antud väärtuse esmakordse esinemise. See on osa C++ teegist
Süntaks
C++ meetodil Low_bound() on kaks varianti: vaike- ja kohandatud süntaks.
Vaikimisi süntaks
Vaikimisi süntaks kasutab ForwardIteratorit, mis osutab vastavalt otsitava vahemiku esimesele ja viimasele elemendile, ning väärtuse vahemiku elementide võrdlemiseks.
ForwardIterator alumine_piir ( Esiteks ForwardIterator , ForwardIterator viimane , konst T & val ) ;
Kohandatud süntaks
Kohandatud süntaks kasutab lisaks kasutaja määratud binaarpredikaadi funktsiooni, mis järgib elementide järjestamiseks ranget nõrka järjestust.
ForwardIterator alumine_piir ( Esiteks ForwardIterator , ForwardIterator viimane , konst T & val , Võrdle komp ) ;
Parameetrid
Low_bound() meetodil C++ on kolm parameetrit.
Esimene Viimane: Esimesed kaks parameetrit, “esimene” ja “viimane”, määravad vahemiku [first, last), mille piires meetod otsib alumist piiri. Vahemik määratakse kahe parameetriga, nimelt 'esimene' ja 'viimane'. Vahemik hõlmab kõiki elemente 'esimese' ja 'viimase' iteraatori vahel, kuid ei sisalda elementi, millele viitas 'viimase' iteraatoriga.
val: Low_bound() meetodi kolmandat parameetrit nimetatakse 'val'. See tähistab alampiiri väärtust, mis tuleb leida määratud vahemikust. Kui kutsutakse meetod low_bound(), otsib see konteineri määratud vahemikus esimest elementi, mis on suurem või võrdne antud väärtusega 'val'.
komp: Alumine_piir() võib oma neljanda parameetrina aktsepteerida ka binaarset võrdlusfunktsiooni. Selleks on vaja kahte argumenti: tüüp, millele osutab ForwardIterator , ja teine on val . Seejärel tagastab funktsioon kahe argumendi võrdluse põhjal Boole'i väärtuse. Comp-argument ei muuda ühtegi selle argumenti ja see võib olla ainult funktsiooni osuti või funktsiooniobjekt.
Tagastusväärtus
Alumine_piir() tagastab iteraatori, mis osutab esimesele elemendile, mis on suurem või sellega võrdne val . Kui kõik konteineri määratud vahemikus olevad elemendid on antud väärtusest väiksemad val , tagastab meetod low_bound() iteraatori, mis osutab vahemiku viimasele elemendile ja kui kõik elemendid on suuremad kui val , annab see iteraatori, mis osutab vahemiku esimesele elemendile.
Näidiskood
See C++ kood demonstreerib funktsiooni std::lower_bound() kasutamist sorteeritud vektori esimese elemendi leidmiseks, mis ei ole väiksem kui etteantud väärtus.
#includeint peamine ( )
{
// Sisendvektor
std :: vektor < kahekordne > väärtused { 10 , viisteist , kakskümmend , 25 , 30 } ;
// Trüki vektor
std :: cout << 'Vektor sisaldab:' ;
jaoks ( allkirjastamata int i = 0 ; i < väärtused. suurus ( ) ; i ++ )
std :: cout << ' ' << väärtused [ i ] ;
std :: cout << ' \n ' ;
std :: vektor < kahekordne >:: iteraator see1 , see2 , see3 ;
// std :: alumine_piir
see1 = std :: alampiir ( väärtused. alustada ( ) , väärtused. lõpp ( ) , 13 ) ;
see2 = std :: alampiir ( väärtused. alustada ( ) , väärtused. lõpp ( ) , 23 ) ;
see3 = std :: alampiir ( väärtused. alustada ( ) , väärtused. lõpp ( ) , 33 ) ;
std :: cout
<< ' \n alumine_piir elemendi 13 jaoks asukohas: '
<< ( see1 - väärtused. alustada ( ) ) ;
std :: cout
<< ' \n alumine_piir elemendi 23 jaoks asukohas: '
<< ( see2 - väärtused. alustada ( ) ) ;
std :: cout
<< ' \n alumine_piir elemendi 33 jaoks asukohas: '
<< ( see3 - väärtused. alustada ( ) ) ;
tagasi 0 ;
}
Kood algab kahenimeliste väärtuste tüüpi std::vektori määratlemisega ja selle initsialiseerimisega mõne väärtusega. Seejärel prindib see vektori elemendid for-tsükli abil.
Järgmisena deklareerib kood kolm std::vector
Funktsiooni std::lower_bound() kutsutakse välja kolme erineva väärtusega: 13, 23 ja 33. Iga kõne korral annab alam_piir() iteraatori, mis osutab vektori esimesele elemendile, mis on suurem või võrdne määratud väärtus.
Seejärel prindib kood välja nende elementide asukohad vektoris, lahutades väärtused.begin() iteraatori iteraatorist, mille tagastab std::lower_bound(), mis annab elemendi indeksi vektoris.
Väljund
Järeldus
C++ meetod alumine_piir() leiab sorditud konteineris antud väärtuse esmakordse esinemise. See on osa C++ teegist