Come ordinare i vettori usando la funzione lexicographical_compare() C++

Come Ordinare I Vettori Usando La Funzione Lexicographical Compare C



La funzione è un insieme di istruzioni che eseguono un compito specifico. Viene utilizzato per rendere il codice organizzato, modulare e riutilizzabile. In C++, le funzioni svolgono un ruolo importante per semplificare il codice. Ad esempio, il “ confronto_lessicografico() La funzione ” viene utilizzata per confrontare lessicograficamente due sequenze o intervalli.

In questa guida completa, dimostreremo la funzione 'lexicographical_compare()' in C++ con il programma.

Cos'è la funzione 'lexicographical_compare()' in C++

In C++, la funzione “lexicograpfical_compare()” è un'operazione molto efficace per confrontare e ordinare gli elementi in una sequenza (ordine lessicografico). Fornisce la possibilità di determinare il rispettivo ordine che è il risultato del confronto di sequenze, come intervalli e stringhe. Questa funzione è accessibile in C++ usando il ' ” file di intestazione.







Sintassi



Ecco la sintassi della funzione “lexicographical_compare()” in C++:



modello < classe InputIter1, classe InputIter2 >
bool lessicografico_confronto ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;

Secondo il codice sopra riportato, il “ confronto_lessicografico() ” la funzione accetta due coppie di intervalli il “ prima1 ' E ' ultimo1 ” input iteratori per il primo intervallo e il “ primo2 ' E ' ultimo2 ” iteratori di input per l'intervallo second. Corrisponde a entrambi gli elementi dell'intervallo in ordine lessicografico.





Tipo di reso: Restituisce il valore booleano (vero o falso). Restituirà vero quando il primo intervallo è lessicograficamente più piccolo del secondo intervallo altrimenti restituisce falso.

Eccezioni: Se viene rilevato un errore durante il confronto, genererà un'eccezione.



Come ordinare i vettori usando la funzione lexicographical_compare() C++

La funzione 'lexicographical_compare ()' viene spesso utilizzata nelle tecniche di ordinamento per scoprire l'ordine dell'elemento. Corrisponde al rispettivo ordine degli elementi fino al termine della gamma.

Esempio di funzione lexicograpical_compare() Ordina e confronta i vettori stringa

Diamo un'occhiata all'esempio fornito che dimostra il ' ordinare() ” metodo con il “ confronto_lessicografico() ”:

#include
#include
#include
utilizzando spazio dei nomi standard ;

Qui:

  • ” viene utilizzato per le operazioni di input e output.

” è una classe contenitore della libreria standard C++ e viene utilizzata per contenere modelli che offrono funzionalità di array dinamici.

  • ” viene utilizzato per accedere al metodo “sort()” per la funzione “lexicographical_compare()”.
  • utilizzando lo spazio dei nomi std ” è indicato come una direttiva che utilizza tutti i nomi dello spazio dei nomi senza menzionare esplicitamente il prefisso “std”.

Successivamente, all'interno del “ principale() ” funzione, abbiamo inizializzato due vettori “ vect1 ' E ' vect2 ” con la stessa stringa. Successivamente, ha utilizzato il ' ordinare() ” metodo per ordinare gli elementi in ordine lessicografico di entrambi i vettori con “ vect1.inizio() ' E ' vettore1.end() ” Intervallo di iteratori per “vect1” e “ vect2.inizio() ' E ' vect2.end() ” per “vect2”. Quindi, invocato il ' confronto_lessicografico() ” funzione che accetta quattro argomenti per entrambi i vettori.

I risultati verranno salvati con ' bool ' digitare ' risultato ” e restituisce true se l'intervallo “vect1” è lessicograficamente più piccolo dell'intervallo “vect2”, false in caso contrario. Infine, applica il ' Se ” per visualizzare i risultati. Se la ' risultato ” è vero significa che “vect1” è lessicograficamente “ > ” piuttosto che “vect2”. In caso contrario, verrà eseguita la condizione else:

int principale ( ) {
vettore < corda > vect1 = { 'Primavera' , 'Estate' , 'Autunno' , 'Inverno' } ;
vettore < corda > vect2 = { 'Primavera' , 'Estate' } ;

ordinare ( vect1. inizio ( ) , vect1. FINE ( ) ) ;
ordinare ( vect2. inizio ( ) , vect2. FINE ( ) ) ;
// confronta entrambi i vettori usando lessicographical_compare()
bool risultato = lessicografico_confronto (
vect1. inizio ( ) , vect1. FINE ( ) ,
vect2. inizio ( ) , vect2. FINE ( )
) ;

Se ( risultato ) {
cout << 'vect1 è lessicograficamente maggiore di vect2' << finel ;
} altro Se ( lessicografico_confronto (
vect2. inizio ( ) , vect2. FINE ( ) ,
vect1. inizio ( ) , vect1. FINE ( )
) ) {
cout << 'vect1 è lessicograficamente minore di vect2' << finel ;
} altro {
cout << 'vect1 è lessicograficamente uguale a vect2' << finel ;
}
ritorno 0 ;
}

Produzione

È tutto! Hai imparato a conoscere il ' confronto_lessicografico() ” funzione in C++.

Conclusione

In C++, la funzione 'lexicographical_compare()' viene utilizzata per ordinare e abbinare la sequenza di elementi in ordine lessicale. L'algoritmo di ordinamento con il metodo “lexicograpgical_compare()” è ampiamente implementato per trovare l'ordine relativo. In questo tutorial, abbiamo dimostrato la funzione 'lexicographical_compare()' in C++.