Como classificar vetores usando a função lexicographical_compare() C++

Como Classificar Vetores Usando A Funcao Lexicographical Compare C



A função é um conjunto de instruções que executam uma tarefa específica. Ele é usado para tornar o código organizado, modular e reutilizável. Em C++, as funções desempenham um papel importante para simplificar o código. Por exemplo, o “ lexicographical_compare() ” é usada para comparar duas sequências ou intervalos lexicograficamente.

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 “ ' arquivo de cabeçalho.







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.

” é uma classe de contêiner de biblioteca padrão C++ e é usada para manter modelos que oferecem recursos dinâmicos de matriz.

  • ” é 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++.