În acest ghid cuprinzător, vom demonstra funcția „lexicographical_compare()” în C++ cu programul.
Ce este funcția „lexicographical_compare()” în C++
În C++, funcția „lexicographical_compare()” este o operațiune foarte eficientă de comparare și sortare a elementelor dintr-o secvență (ordine lexicografică). Oferă facilitatea de a determina ordinea respectivă care este rezultatul comparării secvențelor, cum ar fi intervalele și șirurile de caractere. Această funcție este accesibilă în C++ utilizând „
Sintaxă
Iată sintaxa funcției „lexicographical_compare()” în C++:
șablon < clasă InputIter1, clasă InputIter2 >
bool comparare_lexicografică ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;
Conform codului furnizat mai sus, „ comparare_lexicografică() funcția acceptă două perechi de intervale „ primul 1 ' și ' ultimul 1 ” iteratoare de intrare pentru primul interval și „ primul 2 ' și ' ultimul2 ” iteratoare de intrare pentru intervalul secund. Se potrivește ambelor elemente ale intervalului în ordine lexicografică.
Tip returnare: Returnează valoarea booleană (adevărat sau fals). Va returna true când primul interval este mai mic din punct de vedere lexicografic decât al doilea interval, altfel returnează false.
Excepții: Dacă se găsește o eroare în timpul comparației, va arunca o excepție.
Cum se sortează vectorii folosind funcția lexicographical_compare() C++
Funcția „lexicographical_compare()” este folosită frecvent în tehnicile de sortare pentru a afla ordinea elementului. Se potrivește cu ordinea respectivă a elementelor până la sfârșitul intervalului.
Exemplu de lexicograpical_compare() Funcția Sortare și comparare a vectorilor șir
Să verificăm exemplul oferit care demonstrează „ fel() ” metoda cu “ comparare_lexicografică() ”:
#include#include
#include
folosind spatiu de nume std ;
Aici:
- „
” este utilizat pentru operațiunile de intrare și ieșire.
„
- „
” fișierul antet este folosit pentru a accesa metoda „sort()” pentru funcția „lexicographical_compare()”. - „ folosind namespace std ” este denumită o directivă care utilizează toate numele din spațiul de nume fără a menționa în mod explicit prefixul „std”.
În continuare, în interiorul „ principal() ”, am inițializat doi vectori” vect1 ' și ' vect2 ” cu aceeași sfoară. După aceasta, a folosit „ fel() ” metoda de sortare a elementelor în ordine lexicografică a ambilor vectori cu “ vect1.begin() ' și ' vector1.end() ” interval de iteratori pentru „vect1” și „ vect2.begin() ' și ' vect2.end() ” pentru „vect2”. Apoi, a invocat „ comparare_lexicografică() ” funcție care ia patru argumente pentru ambii vectori.
Rezultatele vor fi salvate cu „ bool ” tastați „ rezultat ” variabilă și returnează adevărat dacă intervalul „vect1” este lexicografic mai mic decât intervalul „vect2” și fals în caz contrar. În cele din urmă, aplicați „ dacă ” declarație pentru a afișa rezultatele. Dacă „ rezultat ” este adevărat, înseamnă că „vect1” este lexicografic „ > ” decât „vect2”. În caz contrar, se va executa condiția else:
int principal ( ) {vector < şir > vect1 = { 'Arc' , 'Vară' , 'Toamnă' , 'Iarnă' } ;
vector < şir > vect2 = { 'Arc' , 'Vară' } ;
fel ( vect1. ÎNCEPE ( ) , vector1. Sfârşit ( ) ) ;
fel ( vect2. ÎNCEPE ( ) , vect2. Sfârşit ( ) ) ;
// compara ambii vectori folosind lexicographical_compare()
bool rezultat = comparare_lexicografică (
vect1. ÎNCEPE ( ) , vector1. Sfârşit ( ) ,
vect2. ÎNCEPE ( ) , vect2. Sfârşit ( )
) ;
dacă ( rezultat ) {
cout << „vect1 este mai mare din punct de vedere lexicografic decât vect2” << endl ;
} altfel dacă ( comparare_lexicografică (
vect2. ÎNCEPE ( ) , vect2. Sfârşit ( ) ,
vect1. ÎNCEPE ( ) , vector1. Sfârşit ( )
) ) {
cout << „vect1 este lexicografic mai mic decât vect2” << endl ;
} altfel {
cout << „vect1 este lexicografic egal cu vect2” << endl ;
}
întoarcere 0 ;
}
Ieșire
Asta e tot! Ați aflat despre „ comparare_lexicografică() ” în C++.
Concluzie
În C++, funcția „lexicographical_compare()” este folosită pentru a sorta și potrivi secvența de elemente în ordine lexicală. Algoritmul de sortare cu metoda „lexicograpgical_compare()” este implementat pe scară largă pentru a găsi ordinea relativă. În acest tutorial, am demonstrat funcția „lexicographical_compare()” în C++.