Kā kārtot vektorus, izmantojot lexicographical_compare() funkciju C++

Ka Kartot Vektorus Izmantojot Lexicographical Compare Funkciju C



Funkcija ir instrukciju kopums, kas veic noteiktu uzdevumu. To izmanto, lai padarītu kodu sakārtotu, modulāru un atkārtoti lietojamu. Programmā C++ funkcijām ir svarīga loma, lai padarītu kodu vienkāršu. Piemēram, “ leksikogrāfiskais_salīdzināt() ” funkcija tiek izmantota, lai leksikogrāfiski salīdzinātu divas secības vai diapazonus.

Š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 ' ” galvenes failu.







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.

' ” ir C++ standarta bibliotēkas konteinera klase, un to izmanto, lai turētu veidnes, kas piedāvā dinamiskas masīva iespējas.

  • ' ” 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ā.