Šajā visaptverošajā rokasgrāmatā mēs demonstrēsim funkciju “lexicographical_compare()” C++ valodā ar programmu.
Kas ir funkcija “lexicographical_compare()” valodā C++
Programmā C++ funkcija “lexicograpfical_compare()” ir ļoti efektīva darbība, lai salīdzinātu un kārtotu elementus secībā (leksikogrāfiskā secībā). Tas nodrošina iespēju noteikt attiecīgo secību, kas ir secību, piemēram, diapazonu un virkņu, salīdzināšanas rezultāts. Šī funkcija ir pieejama C++, izmantojot '
Sintakse
Šeit ir funkcijas “lexicographical_compare()” sintakse C++ valodā:
veidne < klasē InputIter1, klasē InputIter2 >
bool leksikogrāfiskais_salīdzināt ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;
Saskaņā ar iepriekš sniegto kodu “ leksikogrāfiskais_salīdzināt() ” funkcija pieņem divus diapazonu pārus pirmais1 ' un ' pēdējais1 ' ievades iteratori pirmajam diapazonam un ' pirmais2 ' un ' pēdējais2 ” ievades iteratori diapazonam sekundē. Tas atbilst abiem diapazona elementiem leksikogrāfiskā secībā.
Atgriešanas veids: Tas atgriež Būla vērtību (true vai false). Tas atgriezīsies patiess, ja pirmais diapazons ir leksikogrāfiski mazāks par otro diapazonu, pretējā gadījumā atgriež false.
Izņēmumi: Ja salīdzināšanas laikā tiek atrasta kļūda, tiks izveidots izņēmums.
Kā kārtot vektorus, izmantojot lexicographical_compare() funkciju C++
Funkciju “lexicographical_compare()” bieži izmanto šķirošanas paņēmienos, lai noskaidrotu elementu secību. Tas atbilst attiecīgajai elementu secībai, līdz diapazons ir pabeigts.
Lexicograpical_compare() funkcijas Kārtot un salīdzināt virknes vektorus piemērs
Apskatīsim sniegto piemēru, kas parāda ' kārtot () ' metode ar ' leksikogrāfiskais_salīdzināt() ”:
#include#iekļaut
#include
izmantojot nosaukumvieta std ;
Šeit:
- '
” tiek izmantots ievades un izvades operācijām.
'
- '
” galvenes fails tiek izmantots, lai piekļūtu funkcijai “lexicographical_compare()” metodei “sort()”. - ' izmantojot namespace std ” tiek dēvēta par direktīvu, kas izmanto visus nosaukumus no nosaukumvietas, nepārprotami neminot prefiksu “std”.
Tālāk sadaļā “ galvenais () 'funkciju, mēs inicializējām divus vektorus' vect1 ' un ' vect2 ” ar to pašu virkni. Pēc tam izmantoja “ kārtot () ” metode, lai kārtotu elementus abu vektoru leksikogrāfiskā secībā ar “ vect1.begin() ' un ' vector1.end() ” iteratoru diapazons ir “vect1” un “ vect2.begin() ' un ' vect2.end() ” diapazons “vect2”. Pēc tam izsauca ' leksikogrāfiskais_salīdzināt() ” funkcija, kas izmanto četrus argumentus abiem vektoriem.
Rezultāti tiks saglabāti ar “ bool ' ierakstiet ' rezultāts ” mainīgo un atgriež patiesu, ja diapazons “vect1” ir leksikogrāfiski mazāks par diapazonu “vect2”, bet pretējā gadījumā atgriež vērtību “false”. Visbeidzot, izmantojiet “ ja ” paziņojumu, lai parādītu rezultātus. Ja “ rezultāts ” ir taisnība, tas nozīmē, ka “vect1” leksikogrāfiski ir “ > ” nekā “vect2”. Pretējā gadījumā tiks izpildīts cits nosacījums:
starpt galvenais ( ) {vektors < virkne > vect1 = { 'pavasaris' , 'Vasara' , 'Rudens' , 'Ziema' } ;
vektors < virkne > vect2 = { 'pavasaris' , 'Vasara' } ;
kārtot ( vect1. sākt ( ) , vect1. beigas ( ) ) ;
kārtot ( vect2. sākt ( ) , vect2. beigas ( ) ) ;
// salīdzināt abus vektorus, izmantojot lexicographical_compare()
bool rezultāts = leksikogrāfiskais_salīdzināt (
vect1. sākt ( ) , vect1. beigas ( ) ,
vect2. sākt ( ) , vect2. beigas ( )
) ;
ja ( rezultāts ) {
cout << 'vect1 ir leksikogrāfiski lielāks par vect2' << endl ;
} cits ja ( leksikogrāfiskais_salīdzināt (
vect2. sākt ( ) , vect2. beigas ( ) ,
vect1. sākt ( ) , vect1. beigas ( )
) ) {
cout << 'vect1 ir leksikogrāfiski mazāks par vect2' << endl ;
} cits {
cout << 'vect1 ir leksikogrāfiski vienāds ar vect2' << endl ;
}
atgriezties 0 ;
}
Izvade
Tas ir viss! Jūs uzzinājāt par ' leksikogrāfiskais_salīdzināt() ” funkcija C++.
Secinājums
Programmā C++ funkcija “lexicographical_compare()” tiek izmantota, lai kārtotu un saskaņotu elementu secību leksiskā secībā. Šķirošanas algoritms ar “lexicograpgical_compare()” metodi ir plaši ieviests, lai atrastu relatīvo secību. Šajā apmācībā mēs demonstrējām funkciju “lexicographical_compare()” C++ valodā.