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ą „
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.
“
- “
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++.