Hvordan du bruker nedre_bundet i C ++

Hvordan du bruker nedre_bundet i C ++
I C ++, Lower_Bound () Funksjon brukes ofte for å bestemme et elements beliggenhet i en sortert matrise. Det skaper en iterator som refererer til det første elementet som ikke er mindre enn målverdien mens den itererer gjennom rekkevidden.

Når du prøver å finne den aller første forekomsten av et element eller se etter en viss verdi i en sortert matrise, er det Lower_Bound () Tilnærmingen kommer ganske nyttig. Det kan finne et element i en sortert matrise med en O (log n) tidskompleksitet, noe som gjør det til en effektiv metode.

Syntaks for nedre_bundet i C++

Syntaks for bruk Lower_Bound () er som følgende:

auto it = nedre_bound (start, slutt, verdi);

Her, “start”Og“slutt”Henvis til start og stopp for det spesifiserte området, mens“verdi”Angir den ønskede verdien som skal søkes etter. En iterator som fører til det første elementet i området som ikke er mindre enn målverdien, er returresultatet av Lower_Bound () funksjon.

Inngangene til funksjonen Lower_Bound () er der det hele begynner å jobbe. Flere elementer og verdien de skal sammenlignes tilføres metoden.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor vect = 1,2,3,4,5;
DeclType (VECT) :: Iterator IT = nedre_bundet (VECT.Begynn (), VECT.end (), 4);
cout << "Position of "<< *it <<" = "<< (it - vect.begin()) << endl;
retur 0;

I koden ovenfor bruker vi en vektor 'VECT' og Lower_Bound () Funksjon for å bestemme elementet på stedet på 4. plassering i vektoren.

Produksjon

Når du bruker Lower_Bound () Funksjon, det er noen få andre avgjørende faktorer å ta hensyn til i tillegg til den grunnleggende syntaks. For det første kan tilpassede sammenligningsfunksjoner brukes med Lower_Bound () funksjon. Den sammenligner elementene som standard ved hjelp av mindre enn operatøren, men du kan endre denne standardoppførselen ved å levere din egen sammenligningsfunksjon.

Et annet resultat av Lower_Bound () Metode er en iterator som refererer til elementet som ikke kan være mindre enn verdien. Dette betyr at det kan returnere et av elementene hvis mer enn en har samme verdi. Bruke Lower_Bound () Funksjon i kombinasjon med lik rekkevidde for å finne den første forekomsten av ønsket verdi.

Fordeler ved å bruke Lower_bound () -metoden

1: Tid og romkompleksitet

Når det gjelder både tid og romkompleksitet, C++ Lower_Bound () Tilnærmingen er ganske effektiv. Det er en av de raskeste og best-optimaliserte algoritmene som er tilgjengelige, og den kan behandle massive datamengder uten.

2: Sorterte dataområder

Som Lower_Bound () Tilbyr det første elementet som ikke er mindre enn den spesifiserte verdien, det er også en nyttig teknikk for å jobbe med sorterte dataserier. Det er perfekt for søkeoperasjoner i matriser og andre datastrukturer på grunn av denne egenskapen.

3: Fungerer med matriser og containere

Til slutt er det viktig å huske at Lower_Bound () Metoden fungerer med både matriser og containere. Funksjonen fungerer på de sorterte beholderelementene når de brukes med containere. Det virker på en rekke matriseartikler når de er ansatt med matriser, derimot.

Konklusjon

Å håndtere sorterte data krever bruk av C++ Lower_Bound () teknikk. Sammenlignet med andre søkealgoritmer, gir det resultater som er effektive, raske og nøyaktige. Ved å inkludere denne teknikken i koden din, kan du gi forbrukerne pålitelige søkeresultater mens du bevarer mye behandlingstid og ressurser.