Vektorok rendezése a C++ lexicographical_compare() függvény segítségével

Vektorok Rendezese A C Lexicographical Compare Fuggveny Segitsegevel



A funkció egy adott feladatot végrehajtó utasítások halmaza. A kód rendszerezetté, modulárissá és újrafelhasználhatóvá tételére szolgál. A C++ nyelvben a függvények fontos szerepet játszanak a kód egyszerűsítésében. Például a „ lexikográfiai_összehasonlítás() ” funkció két sorozat vagy tartomány lexikográfiai összehasonlítására szolgál.

Ebben az átfogó útmutatóban bemutatjuk a „lexicographical_compare()” függvényt C++ nyelven a programmal.

Mi az a „lexicoographical_compare()” függvény a C++ nyelven?

A C++ nyelvben a „lexicographical_compare()” függvény egy nagyon hatékony művelet az elemek sorozat szerinti összehasonlítására és rendezésére (lexikográfiai sorrend). Lehetőséget biztosít a megfelelő sorrend meghatározására, amely sorozatok, például tartományok és karakterláncok összehasonlításának eredménye. Ez a funkció a C++ nyelven a „ ” fejlécfájl.







Szintaxis



Íme a „lexicographical_compare()” függvény szintaxisa C++ nyelven:



sablon < osztály InputIter1, osztály InputIter2 >
bool lexikográfiai_összehasonlítás ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;

A fent megadott kód szerint a „ lexikográfiai_összehasonlítás() ' függvény két tartománypárt fogad el a ' első 1 ” és „ utolsó1 ” beviteli iterátorok az első tartományhoz és a „ első2 ” és „ utolsó2 ” beviteli iterátorok a második tartományhoz. Mindkét tartományelemet lexikográfiai sorrendben illeszti.





Visszaküldés típusa: A logikai értéket adja vissza (igaz vagy hamis). Igazat ad vissza, ha az első tartomány lexikográfiailag kisebb, mint a második tartomány, ellenkező esetben hamis értéket ad vissza.

Kivételek: Ha hibát talál az összehasonlítás során, kivételt dob.



Vektorok rendezése a C++ lexicographical_compare() függvény segítségével

A „lexicoographical_compare()” függvényt gyakran használják rendezési technikákban az elemek sorrendjének megállapítására. Addig egyezik az elemek megfelelő sorrendjével, amíg a tartomány be nem fejeződik.

Példa a lexicograpical_compare() függvényre. A karakterláncvektorok rendezése és összehasonlítása

Nézzük meg a megadott példát, amely bemutatja a „ fajta() ' módszer a ' lexikográfiai_összehasonlítás() ”:

#include
#include
#include
segítségével névtér std ;

Itt:

  • ' ” a bemeneti és kimeneti műveletekhez használatos.

' ” egy C++ szabványos könyvtári konténerosztály, és dinamikus tömb képességeket kínáló sablonok tárolására szolgál.

  • ' ” fejlécfájl a „lexicoographical_compare()” függvény „sort()” metódusának elérésére szolgál.
  • ' névtér std használatával ” olyan direktívaként hivatkozunk, amely a névtér összes nevét használja anélkül, hogy kifejezetten megemlítené az „std” előtagot.

Ezután a „ fő() ' függvényt, inicializáltunk két vektort ' vektor1 ” és „ vektor2 ” ugyanazzal a húrral. Ezt követően a „ fajta() ” módszerrel mindkét vektor elemeinek lexikográfiai sorrendbe rendezéséhez a „ vect1.begin() ” és „ vector1.end() ” iterátorok a „vect1” és „ vect2.begin() ” és „ vect2.end() ” tartomány a „vect2” számára. Ezután hívta a „ lexikográfiai_összehasonlítás() ” függvény, amely mindkét vektorhoz négy argumentumot vesz fel.

Az eredményeket a rendszer a „ bool ' írja be a ' eredmény ” változót, és igazat ad vissza, ha a „vect1” tartomány lexikográfiailag kisebb, mint a „vect2” tartomány, egyébként pedig hamis. Végül alkalmazza a „ ha ” utasítást az eredmények megjelenítéséhez. Ha a „ eredmény ' igaz, ez azt jelenti, hogy a 'vect1' szótárilag ' > ”, mint a „vect2”. Ellenkező esetben az else feltétel kerül végrehajtásra:

int fő- ( ) {
vektor < húr > vektor1 = { 'Tavaszi' , 'Nyár' , 'Ősz' , 'Téli' } ;
vektor < húr > vektor2 = { 'Tavaszi' , 'Nyár' } ;

fajta ( vektor1. kezdődik ( ) , vektor1. vége ( ) ) ;
fajta ( vektor2. kezdődik ( ) , vektor2. vége ( ) ) ;
// Hasonlítsa össze mindkét vektort a lexicographical_compare() segítségével
bool eredmény = lexikográfiai_összehasonlítás (
vektor1. kezdődik ( ) , vektor1. vége ( ) ,
vektor2. kezdődik ( ) , vektor2. vége ( )
) ;

ha ( eredmény ) {
cout << 'A vect1 lexikográfiailag nagyobb, mint a vect2' << endl ;
} más ha ( lexikográfiai_összehasonlítás (
vektor2. kezdődik ( ) , vektor2. vége ( ) ,
vektor1. kezdődik ( ) , vektor1. vége ( )
) ) {
cout << 'a vect1 lexikográfiailag kisebb, mint a vect2' << endl ;
} más {
cout << 'a vect1 lexikográfiailag egyenlő a vect2-vel' << endl ;
}
Visszatérés 0 ;
}

Kimenet

Ez minden! Megtanulta a „ lexikográfiai_összehasonlítás() ” funkciót a C++ nyelven.

Következtetés

A C++ nyelvben a „lexicoographical_compare()” függvény az elemek sorrendjének lexikális sorrendbe rendezésére és egyeztetésére szolgál. A „lexicograpgical_compare()” metódussal rendelkező rendezési algoritmust széles körben alkalmazzák a relatív sorrend meghatározására. Ebben az oktatóanyagban bemutattuk a „lexicographical_compare()” függvényt C++ nyelven.