Jak sortować wektory za pomocą funkcji lexicographic_compare() C++

Jak Sortowac Wektory Za Pomoca Funkcji Lexicographic Compare C



Funkcja to zestaw instrukcji, które wykonują określone zadanie. Służy do organizowania kodu, tworzenia modułów i wielokrotnego użytku. W C++ funkcje odgrywają ważną rolę w upraszczaniu kodu. Na przykład „ lexicographic_compare() Funkcja ” służy do leksykograficznego porównania dwóch sekwencji lub zakresów.

W tym obszernym przewodniku zademonstrujemy funkcję „lexicographic_compare()” w C++ wraz z programem.

Co to jest funkcja „lexicographic_compare()” w C++

W języku C++ funkcja „lexicograffical_compare()” jest bardzo efektywną operacją służącą do porównywania i sortowania elementów w sekwencji (porządek leksykograficzny). Zapewnia możliwość określenia odpowiedniej kolejności, która jest wynikiem porównywania sekwencji, takich jak zakresy i łańcuchy. Ta funkcja jest dostępna w C++ za pomocą „ plik nagłówkowy.







Składnia



Oto składnia funkcji „lexicographic_compare()” w C++:



szablon < klasa WejścieIter1, klasa WejścieIter2 >
bool lexicographic_compare ( InputIter1 pierwszy1, InputIter1 ostatni1, InputIter2 pierwszy2, InputIter2 ostatni2 ) ;

Zgodnie z powyższym kodem „ lexicographic_compare() ” funkcja akceptuje dwie pary zakresów „ pierwszy1 ' I ' ostatni1 ” iteratory wejściowe dla pierwszego zakresu i „ pierwszy2 ' I ' ostatni2 ” iteratory wejściowe dla drugiego zakresu. Dopasowuje oba elementy zakresu w porządku leksykograficznym.





Rodzaj zwrotu: Zwraca wartość logiczną (prawda lub fałsz). Zwróci wartość true, gdy pierwszy zakres jest leksykograficznie mniejszy niż drugi zakres, w przeciwnym razie zwróci wartość false.

Wyjątki: Jeśli podczas porównania zostanie znaleziony błąd, zostanie zgłoszony wyjątek.



Jak sortować wektory za pomocą funkcji lexicographic_compare() C++

Funkcja „lexicographic_compare()” jest często używana w technikach sortowania w celu ustalenia kolejności elementów. Dopasowuje odpowiednią kolejność elementów, aż do zakończenia zakresu.

Przykład funkcji lexicogratical_compare() Sortowanie i porównywanie wektorów łańcuchowych

Sprawdźmy podany przykład, który demonstruje „ sortować() ” metoda z „ lexicographic_compare() ”:

#include
#uwzględnij
#include
za pomocą przestrzeń nazw standardowe ;

Tutaj:

  • ” służy do operacji wejścia i wyjścia.

” jest standardową klasą kontenera biblioteki C++ i służy do przechowywania szablonów oferujących możliwości tablic dynamicznych.

  • Plik nagłówkowy ” służy do uzyskiwania dostępu do metody „sort()” dla funkcji „lexicographic_compare()”.
  • przy użyciu przestrzeni nazw std ” jest określany jako dyrektywa, która używa wszystkich nazw z przestrzeni nazw bez wyraźnego wymieniania przedrostka „std”.

Następnie wewnątrz „ główny() ”, zainicjowaliśmy dwa wektory „ wekt1 ' I ' wekt2 ” z tym samym ciągiem. Następnie użyto „ sortować() ” metoda sortowania elementów w porządku leksykograficznym obu wektorów za pomocą „ vect1.begin() ' I ' wektor1.koniec() ” zakres iteratorów dla „vect1” i „ vect2.begin() ' I ' vect2.end() ” dla „vect2”. Następnie przywołał „ lexicographic_compare() ”, która przyjmuje cztery argumenty dla obu wektorów.

Wyniki zostaną zapisane jako „ bool ” wpisz w „ wynik ” i zwróć wartość true, jeśli zakres „vect1” jest leksykograficznie mniejszy niż zakres „vect2”, w przeciwnym razie zwróć wartość false. Na koniec zastosuj „ Jeśli ”, aby wyświetlić wyniki. jeśli „ wynik ” jest prawdą, oznacza to, że „vect1” jest leksykograficznie „ > ” niż „vect2”. W przeciwnym razie zostanie wykonany warunek else:

int główny ( ) {
wektor < strunowy > wekt1 = { 'Wiosna' , 'Lato' , 'Jesień' , 'Zima' } ;
wektor < strunowy > wekt2 = { 'Wiosna' , 'Lato' } ;

sortować ( wekt1. zaczynać ( ) , wekt1. koniec ( ) ) ;
sortować ( wekt2. zaczynać ( ) , wekt2. koniec ( ) ) ;
// porównaj oba wektory za pomocą lexicographic_compare()
bool wynik = lexicographic_compare (
wekt1. zaczynać ( ) , wekt1. koniec ( ) ,
wekt2. zaczynać ( ) , wekt2. koniec ( )
) ;

Jeśli ( wynik ) {
cout << „vect1 jest leksykograficznie większy niż vect2” << koniec ;
} w przeciwnym razie Jeśli ( lexicographic_compare (
wekt2. zaczynać ( ) , wekt2. koniec ( ) ,
wekt1. zaczynać ( ) , wekt1. koniec ( )
) ) {
cout << „vect1 jest leksykograficznie mniejszy niż vect2” << koniec ;
} w przeciwnym razie {
cout << „vect1 jest leksykograficznie równy vect2” << koniec ;
}
powrót 0 ;
}

Wyjście

To wszystko! Dowiedziałeś się o „ lexicographic_compare() ” funkcja w C++.

Wniosek

W języku C++ funkcja „lexicographic_compare()” służy do sortowania i dopasowywania sekwencji elementów w porządku leksykalnym. Algorytm sortowania z metodą „lexicogragical_compare()” jest szeroko stosowany w celu znalezienia względnego porządku. W tym samouczku zademonstrowaliśmy funkcję „lexicographic_compare()” w języku C++.