Slik sorterer du vektorer ved å bruke lexicographical_compare() funksjon C++

Slik Sorterer Du Vektorer Ved A Bruke Lexicographical Compare Funksjon C



Funksjonen er et sett med instruksjoner som utfører en bestemt oppgave. Den brukes til å gjøre koden organisert, modulær og gjenbrukbar. I C++ spiller funksjoner en viktig rolle for å gjøre koden enkel. For eksempel, ' leksikografisk_sammenlign() ”-funksjonen brukes til å sammenligne to sekvenser eller områder leksikografisk.

I denne omfattende veiledningen vil vi demonstrere funksjonen 'lexicography_compare()' i C++ med programmet.

Hva er funksjonen 'lexicography_compare()' i C++

I C++ er funksjonen 'lexicograpfical_compare()' en veldig effektiv operasjon for å sammenligne og sortere elementer i en sekvens (leksikografisk rekkefølge). Den gir mulighet for å bestemme den respektive rekkefølgen som er resultatet av å sammenligne sekvenser, for eksempel områder og strenger. Denne funksjonen er tilgjengelig i C++ ved å bruke ' ' overskriftsfil.







Syntaks



Her er syntaksen til funksjonen 'lexicography_compare()' i C++:



mal < klasse InputIter1, klasse InputIter2 >
bool leksikografisk_sammenlign ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;

I henhold til den ovenfor angitte koden, ' leksikografisk_sammenlign() '-funksjonen aksepterer to par områder med ' først1 ' og ' siste 1 ' input iteratorer for det første området og ' første 2 ' og ' siste 2 ” input iteratorer for rekkevidden sekund. Den matcher begge rekkeviddeelementene i leksikografisk rekkefølge.





Returtype: Den returnerer den boolske verdien (true eller usant). Det vil returnere sant når det første området er leksikografisk mindre enn det andre området returnerer ellers usann.

Unntak: Hvis det er en feil funnet under sammenligningen, vil det gi et unntak.



Slik sorterer du vektorer ved å bruke lexicographical_compare() funksjon C++

Funksjonen 'lexicography_compare()' brukes ofte i sorteringsteknikker for å finne ut elementets rekkefølge. Den samsvarer med den respektive rekkefølgen av elementene til serien er ferdig.

Eksempel på funksjonen lexicograpical_compare() Sorter og sammenlign strengvektorene

La oss sjekke ut eksemplet som viser ' sortere() '-metoden med ' leksikografisk_sammenlign() ':

#include
#inkluder
#include
ved hjelp av navneområde std ;

Her:

  • ' ' brukes for inngangs- og utgangsoperasjoner.

' ” er en C++ standard bibliotekbeholderklasse og brukes til å holde maler som tilbyr dynamiske array-funksjoner.

  • ' ” header-filen brukes for å få tilgang til “sort()”-metoden for funksjonen “lexicography_compare()”.
  • ' bruker navneområde std ” refereres til som et direktiv som bruker alle navnene fra navneområdet uten eksplisitt å nevne prefikset “std”.

Deretter inne i ' hoved() '-funksjon, initialiserte vi to vektorer ' vect1 ' og ' vect2 ” med samme streng. Etter dette brukte du ' sortere() ' metode for å sortere elementene i leksikografisk rekkefølge av begge vektorer med ' vect1.begin() ' og ' vector1.end() ' iteratorområde for 'vect1' og ' vect2.begin() ' og ' vect2.end() ' område for 'vect2'. Deretter påkalte ' leksikografisk_sammenlign() ” funksjon som tar fire argumenter for begge vektorene.

Resultatene vil bli lagret med ' bool ' skriv inn ' resultat ” variabel og returnerer true hvis “vect1”-området er leksikografisk mindre enn “vect2”-området, og ellers usant. Til slutt, bruk ' hvis ' uttalelse for å vise resultatene. Hvis ' resultat 'er sant, det betyr at 'vect1' er leksikografisk ' > ' enn 'vect2'. Ellers vil den andre betingelsen bli utført:

int hoved- ( ) {
vektor < streng > vect1 = { 'Vår' , 'Sommer' , 'Høst' , 'Vinter' } ;
vektor < streng > vect2 = { 'Vår' , 'Sommer' } ;

sortere ( vect1. begynne ( ) , vect1. slutt ( ) ) ;
sortere ( vect2. begynne ( ) , vect2. slutt ( ) ) ;
// sammenlign begge vektorene ved å bruke leksikografisk_sammenlign()
bool resultat = leksikografisk_sammenlign (
vect1. begynne ( ) , vect1. slutt ( ) ,
vect2. begynne ( ) , vect2. slutt ( )
) ;

hvis ( resultat ) {
cout << 'vect1 er leksikografisk større enn vect2' << endl ;
} ellers hvis ( leksikografisk_sammenlign (
vect2. begynne ( ) , vect2. slutt ( ) ,
vect1. begynne ( ) , vect1. slutt ( )
) ) {
cout << 'vect1 er leksikografisk mindre enn vect2' << endl ;
} ellers {
cout << 'vect1 er leksikografisk lik vect2' << endl ;
}
komme tilbake 0 ;
}

Produksjon

Det er alt! Du har lært om ' leksikografisk_sammenlign() ' funksjon i C++.

Konklusjon

I C++ brukes funksjonen 'lexicography_compare()' til å sortere og matche sekvensen av elementer i leksikalsk rekkefølge. Sorteringsalgoritmen med 'lexicograpgical_compare()'-metoden er vidt implementert for å finne den relative rekkefølgen. I denne opplæringen demonstrerte vi funksjonen 'lexicographical_compare()' i C++.