En aquesta guia completa, demostrarem la funció 'lexicographical_compare()' en C++ amb el programa.
Quina és la funció 'lexicographical_compare()' en C++
En C++, la funció “lexicographical_compare()” és una operació molt eficaç per comparar i ordenar elements en una seqüència (ordre lexicogràfic). Proporciona la facilitat per determinar l'ordre respectiu que és el resultat de la comparació de seqüències, com ara rangs i cadenes. Aquesta funció és accessible en C++ utilitzant el '
Sintaxi
Aquí teniu la sintaxi de la funció 'lexicographical_compare()' en C++:
plantilla < classe InputIter1, classe InputIter2 >
bool comparació_lexicogràfica ( InputIter1 primer1, InputIter1 darrer1, InputIter2 primer2, InputIter2 darrer2 ) ;
Segons el codi proporcionat anteriorment, el ' comparació_lexicogràfica() La funció accepta dos parells d'intervals el ' primer 1 ' i ' darrer 1 ” iteradors d'entrada per al primer rang i “ primer 2 ' i ' darrer 2 ” iteradors d'entrada per al segon d'interval. Coincideix ambdós elements d'interval en ordre lexicogràfic.
Tipus de retorn: Retorna el valor booleà (vertader o fals). Tornarà true quan el primer rang sigui lexicogràficament més petit que el segon rang, en cas contrari, retorna fals.
Excepcions: Si es troba un error durant la comparació, generarà una excepció.
Com ordenar vectors utilitzant la funció lexicographical_compare() C++
La funció 'lexicographical_compare()' s'utilitza sovint en tècniques d'ordenació per esbrinar l'ordre de l'element. Coincideix amb l'ordre respectiu dels elements fins que s'acaba el rang.
Exemple de la funció lexicograpical_compare() Ordena i compara els vectors de cadena
Vegem l'exemple proporcionat que demostra el ' ordenar () ' mètode amb el ' comparació_lexicogràfica() ”:
#inclou#inclou
#inclou
utilitzant espai de noms std ;
Aquí:
- “
” s'utilitza per a les operacions d'entrada i sortida.
“
- “
El fitxer de capçalera s'utilitza per accedir al mètode 'sort()' per a la funció 'lexicographical_compare()'. - “ utilitzant l'espai de noms std ” es coneix com una directiva que utilitza tots els noms de l'espai de noms sense esmentar explícitament el prefix “std”.
A continuació, dins del ' principal () ', hem inicialitzat dos vectors' vector1 ' i ' vector2 ” amb la mateixa corda. Després d'això, utilitzeu el ' ordenar () ” mètode per ordenar els elements per ordre lexicogràfic d'ambdós vectors amb “ vect1.begin() ' i ' vector1.end() rang d'iteradors per a 'vect1' i ' vect2.begin() ' i ' vector2.end() 'interval per a 'vect2'. Aleshores, va invocar el ' comparació_lexicogràfica() ” funció que pren quatre arguments per als dos vectors.
Els resultats es desaran amb ' bool ' escriviu el ' resultat ” variable i retorna true si l'interval “vect1” és lexicogràficament més petit que l'interval “vect2”, i fals en cas contrari. Finalment, apliqueu el ' si ” declaració per mostrar els resultats. Si el ' resultat ' és cert, vol dir que 'vect1' és lexicogràficament ' > ” que “vect2”. En cas contrari, s'executarà la condició else:
int principal ( ) {vector < corda > vector1 = { 'primavera' , 'Estiu' , 'Tardor' , 'Hivern' } ;
vector < corda > vector2 = { 'primavera' , 'Estiu' } ;
ordenar ( vector1. començar ( ) , vector1. final ( ) ) ;
ordenar ( vector2. començar ( ) , vector2. final ( ) ) ;
// compara ambdós vectors utilitzant lexicographical_compare()
bool resultat = comparació_lexicogràfica (
vector1. començar ( ) , vector1. final ( ) ,
vector2. començar ( ) , vector2. final ( )
) ;
si ( resultat ) {
cout << 'vect1 és lexicogràficament més gran que vect2' << endl ;
} altra cosa si ( comparació_lexicogràfica (
vector2. començar ( ) , vector2. final ( ) ,
vector1. començar ( ) , vector1. final ( )
) ) {
cout << 'vect1 és lexicogràficament menor que vect2' << endl ;
} altra cosa {
cout << 'vect1 és lexicogràficament igual a vect2' << endl ;
}
tornar 0 ;
}
Sortida
Això és tot! Heu après sobre el ' comparació_lexicogràfica() ” funció en C++.
Conclusió
En C++, la funció 'lexicographical_compare()' s'utilitza per ordenar i fer coincidir la seqüència d'elements en ordre lèxic. L'algorisme d'ordenació amb el mètode 'lexicograpgical_compare()' està àmpliament implementat per trobar l'ordre relatiu. En aquest tutorial, hem demostrat la funció 'lexicographical_compare()' en C++.