Sådan sorteres vektorer ved hjælp af lexicographical_compare() Funktion C++

Sadan Sorteres Vektorer Ved Hjaelp Af Lexicographical Compare Funktion C



Funktionen er et sæt instruktioner, der udfører en bestemt opgave. Det bruges til at gøre kode organiseret, modulær og genbrugelig. I C++ spiller funktioner en vigtig rolle for at gøre kode enkel. For eksempel ' leksikografisk_sammenlign() ”-funktionen bruges til at sammenligne to sekvenser eller områder leksikografisk.

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

Hvad er funktionen 'lexicography_compare()' i C++

I C++ er funktionen 'lexicograpfical_compare()' en meget effektiv operation til at sammenligne og sortere elementer i en sekvens (leksikografisk rækkefølge). Det giver mulighed for at bestemme den respektive rækkefølge, som er resultatet af sammenligning af sekvenser, såsom områder og strenge. Denne funktion er tilgængelig i C++ ved at bruge ' ' header-fil.







Syntaks



Her er syntaksen for funktionen 'lexicography_compare()' i C++:



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

I henhold til den ovenfor angivne kode, ' leksikografisk_sammenlign() '-funktionen accepterer to par af områder, ' først 1 ' og ' sidste 1 ' input iteratorer for det første område og ' første 2 ' og ' sidste 2 ” input iteratorer for rækkevidden sekund. Det matcher begge områdeelementer i leksikografisk rækkefølge.





Returtype: Det returnerer den boolske værdi (sand eller falsk). Det vil returnere sandt, når det første område er leksikografisk mindre end det andet område ellers returnerer falsk.

Undtagelser: Hvis der er en fejl fundet under sammenligningen, vil det give en undtagelse.



Sådan sorteres vektorer ved hjælp af lexicographical_compare() Funktion C++

Funktionen 'lexicography_compare()' bruges ofte i sorteringsteknikker for at finde ud af elementets rækkefølge. Den matcher den respektive rækkefølge af elementerne, indtil rækken er færdig.

Eksempel på lexicograpical_compare() Funktion Sorter og sammenlign strengvektorerne

Lad os se det medfølgende eksempel, der viser ' sortere() ' metode med ' leksikografisk_sammenlign() ”:

#include
#inkluder
#include
ved brug af navneområde std ;

Her:

  • ” bruges til input og output operationer.

” er en C++ standard biblioteksbeholderklasse og bruges til at holde skabeloner, der tilbyder dynamiske array-funktioner.

  • ” header-fil bruges til at få adgang til “sort()”-metoden for funktionen “lexicography_compare()”.
  • bruger navneområde std ” omtales som et direktiv, der bruger alle navnene fra navneområdet uden eksplicit at nævne præfikset “std”.

Dernæst inde i ' hoved() 'funktion, initialiserede vi to vektorer' vect1 ' og ' vect2 ” med samme streng. Brug derefter ' sortere() ' metode til at sortere elementerne i leksikografisk rækkefølge af begge vektorer med ' vect1.begin() ' og ' vector1.end() ' iteratorområde for 'vect1' og ' vect2.begin() ' og ' vect2.end() ' område for 'vect2'. Derefter påberåbte sig ' leksikografisk_sammenlign() ” funktion, der tager fire argumenter for begge vektorer.

Resultaterne gemmes med ' bool ' indtast ' resultat variabel og returnerer sand, hvis 'vect1'-området er leksikografisk mindre end 'vect2'-området, og ellers falsk. Til sidst skal du anvende ' hvis ”-udsagn for at vise resultaterne. Hvis ' resultat ' er sandt, det betyder, at 'vect1' er leksikografisk ' > ” end “vect2”. Ellers vil den anden betingelse blive udført:

int vigtigste ( ) {
vektor < snor > vect1 = { 'Forår' , 'Sommer' , 'Efterår' , 'Vinter' } ;
vektor < snor > vect2 = { 'Forår' , 'Sommer' } ;

sortere ( vect1. begynde ( ) , vect1. ende ( ) ) ;
sortere ( vect2. begynde ( ) , vect2. ende ( ) ) ;
// sammenlign begge vektorer ved hjælp af leksikografisk_sammenlign()
bool resultat = leksikografisk_sammenlign (
vect1. begynde ( ) , vect1. ende ( ) ,
vect2. begynde ( ) , vect2. ende ( )
) ;

hvis ( resultat ) {
cout << 'vect1 er leksikografisk større end vect2' << endl ;
} andet hvis ( leksikografisk_sammenlign (
vect2. begynde ( ) , vect2. ende ( ) ,
vect1. begynde ( ) , vect1. ende ( )
) ) {
cout << 'vect1 er leksikografisk mindre end vect2' << endl ;
} andet {
cout << 'vect1 er leksikografisk lig med vect2' << endl ;
}
Vend tilbage 0 ;
}

Produktion

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

Konklusion

I C++ bruges funktionen 'lexicography_compare()' til at sortere og matche rækkefølgen af ​​elementer i leksikalsk rækkefølge. Sorteringsalgoritmen med metoden 'lexicograpgical_compare()' er bredt implementeret for at finde den relative rækkefølge. I denne tutorial demonstrerede vi funktionen 'lexicographical_compare()' i C++.