Neste guia completo, demonstraremos a função “lexicographical_compare()” em C++ com o programa.
O que é a função “lexicographical_compare()” em C++
Em C++, a função “lexicograpfical_compare()” é uma operação muito eficaz para comparar e classificar elementos em uma sequência (ordem lexicográfica). Ele fornece a facilidade de determinar a respectiva ordem que é o resultado da comparação de sequências, como intervalos e strings. Esta função é acessível em C++ usando o comando “
Sintaxe
Aqui está a sintaxe da função “lexicographical_compare()” em C++:
modelo < aula EntradaIter1, aula InputIter2 >
bool lexicographical_compare ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;
De acordo com o código fornecido acima, o “ lexicographical_compare() ” aceita dois pares de intervalos, o “ primeiro1 ' e ' último1 ” iteradores de entrada para o primeiro intervalo e o “ primeiro2 ' e ' últimos 2 ” iteradores de entrada para o segundo intervalo. Ele corresponde a ambos os elementos do intervalo em ordem lexicográfica.
Tipo de retorno: Retorna o valor booleano (verdadeiro ou falso). Ele retornará verdadeiro quando o primeiro intervalo for lexicograficamente menor que o segundo intervalo, caso contrário, retornará falso.
Exceções: Se houver um erro encontrado durante a comparação, ele lançará uma exceção.
Como classificar vetores usando a função lexicographical_compare() C++
A função “lexicographical_compare()” é freqüentemente usada em técnicas de classificação para descobrir a ordem do elemento. Ele corresponde à respectiva ordem dos elementos até que o intervalo seja concluído.
Exemplo da função lexicograpical_compare() Ordenar e comparar os vetores de string
Vamos verificar o exemplo fornecido que demonstra o “ organizar() ” método com o “ lexicographical_compare() ”:
#include#include
#include
usando namespace std ;
Aqui:
- “
” é usado para as operações de entrada e saída.
“
- “
” é usado para acessar o método “sort()” para a função “lexicographical_compare()”. - “ usando namespace std ” é referido como uma diretiva que usa todos os nomes do namespace sem mencionar explicitamente o prefixo “std”.
Em seguida, dentro do “ principal() ” função, inicializamos dois vetores “ vet1 ' e ' vet2 ” com a mesma string. Depois disso, usei o “ organizar() ” para classificar os elementos em ordem lexicográfica de ambos os vetores com “ vect1.begin() ' e ' vetor1.fim() ” Intervalo de iteradores para “vect1” e “ vet2.begin() ' e ' vect2.end() ” intervalo para “vect2”. Em seguida, invocou o “ lexicographical_compare() ” que leva quatro argumentos para ambos os vetores.
Os resultados serão salvos com “ bool ” digite o “ resultado ” e retorna true se o intervalo “vect1” for lexicograficamente menor que o intervalo “vect2” e false caso contrário. Por último, aplique o “ se ” para exibir os resultados. Se o “ resultado ” é verdadeiro significa que o “vect1” é lexicograficamente “ > ” do que “vect2”. Caso contrário, a condição else será executada:
int principal ( ) {vetor < corda > vet1 = { 'Primavera' , 'Verão' , 'Outono' , 'Inverno' } ;
vetor < corda > vet2 = { 'Primavera' , 'Verão' } ;
organizar ( vet1. começar ( ) , vet1. fim ( ) ) ;
organizar ( vet2. começar ( ) , vet2. fim ( ) ) ;
// compara os dois vetores usando lexicographical_compare()
bool resultado = lexicographical_compare (
vet1. começar ( ) , vet1. fim ( ) ,
vet2. começar ( ) , vet2. fim ( )
) ;
se ( resultado ) {
cout << 'vect1 é lexicograficamente maior que vect2' << fim ;
} outro se ( lexicographical_compare (
vet2. começar ( ) , vet2. fim ( ) ,
vet1. começar ( ) , vet1. fim ( )
) ) {
cout << 'vect1 é lexicograficamente menor que vect2' << fim ;
} outro {
cout << 'vect1 é lexicograficamente igual a vect2' << fim ;
}
retornar 0 ;
}
Saída
Isso é tudo! Você aprendeu sobre o “ lexicographical_compare() ”função em C++.
Conclusão
Em C++, a função “lexicographical_compare()” é usada para classificar e combinar a sequência de elementos em ordem léxica. O algoritmo de ordenação com o método “lexicograpgical_compare()” é amplamente implementado para encontrar a ordem relativa. Neste tutorial, demonstramos a função “lexicographical_compare()” em C++.