Selles põhjalikus juhendis demonstreerime programmiga C++ funktsiooni 'lexicoographical_compare()'.
Mis on C++ funktsioon 'lexicographical_compare()'.
C++-s on funktsioon 'lexicograpfical_compare()' väga tõhus toiming elementide võrdlemiseks ja sortimiseks jadas (leksikograafiline järjekord). See võimaldab määrata vastava järjestuse, mis on jadade (nt vahemikud ja stringid) võrdlemise tulemus. See funktsioon on C++-s juurdepääsetav, kasutades '
Süntaks
Siin on funktsiooni 'lexicoographical_compare()' süntaks C++ keeles:
malli < klass InputIter1, klass InputIter2 >
bool leksikograafiline_võrdle ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;
Vastavalt ülaltoodud koodile on ' leksikograafiline_võrdle() funktsioon aktsepteerib kahte paari vahemikke esimene 1 ” ja „ viimane1 ' sisendi iteraatorid esimese vahemiku jaoks ja ' esimene2 ” ja „ viimane2 ” sisendi iteraatorid vahemiku sekundi jaoks. See sobib mõlema vahemiku elemendiga leksikograafilises järjekorras.
Tagastamise tüüp: See tagastab tõeväärtuse (tõene või väär). See tagastab tõene, kui esimene vahemik on leksikograafiliselt väiksem kui teine vahemik, vastasel juhul tagastab vale.
Erandid: Kui võrdluse käigus leitakse viga, teeb see erandi.
Kuidas sortida vektoreid kasutades lexicographical_compare() funktsiooni C++
Funktsiooni 'lexicoographical_compare()' kasutatakse sageli sortimistehnikates elementide järjekorra väljaselgitamiseks. See ühtib elementide vastava järjekorraga, kuni vahemik on lõppenud.
Näide lexicograpical_compare() funktsioonist Sorteeri ja võrdle stringi vektoreid
Vaatame esitatud näidet, mis näitab sorteeri() ' meetod koos ' leksikograafiline_võrdle() ”:
#include#include
#include
kasutades nimeruum std ;
Siin:
- “
” kasutatakse sisend- ja väljundtoimingute jaoks.
“
- “
” päisefaili kasutatakse funktsiooni „lexicoographical_compare()” meetodile „sort()” juurdepääsuks. - “ kasutades nimeruumi std ” nimetatakse direktiiviks, mis kasutab kõiki nimeruumi nimesid ilma eesliidet „std” selgesõnaliselt mainimata.
Järgmisena, sees peamine () 'funktsioon, initsialiseerisime kaks vektorit' vektor1 ” ja „ vektor2 ” sama nööriga. Pärast seda kasutati ' sorteeri() ' meetod elementide sortimiseks mõlema vektori leksikograafilises järjekorras koos ' vect1.begin() ” ja „ vector1.end() ” iteraatorite vahemik on „vec1” ja „ vect2.begin() ” ja „ vect2.end() ” vahemik „vect2” jaoks. Seejärel kutsus esile ' leksikograafiline_võrdle() ” funktsioon, mis võtab mõlema vektori jaoks neli argumenti.
Tulemused salvestatakse valikuga ' bool ' tippige ' tulemus ” muutuja ja tagastab tõene, kui vahemik „vect1” on leksikograafiliselt väiksem kui vahemik „vect2” ja muul juhul väär. Lõpuks rakendage ' kui ” avaldus tulemuste kuvamiseks. Kui ' tulemus ' on tõsi, see tähendab, et 'vect1' on leksikograafiliselt ' > ' kui 'vect2'. Vastasel juhul täidetakse muu tingimus:
int peamine ( ) {vektor < string > vektor1 = { 'Kevad' , 'Suvi' , 'Sügis' , 'Talv' } ;
vektor < string > vektor2 = { 'Kevad' , 'Suvi' } ;
sorteerida ( vektor1. alustada ( ) , vektor1. lõpp ( ) ) ;
sorteerida ( vektor2. alustada ( ) , vektor2. lõpp ( ) ) ;
// võrdle mõlemat vektorit kasutades lexicographical_compare()
bool tulemus = leksikograafiline_võrdle (
vektor1. alustada ( ) , vektor1. lõpp ( ) ,
vektor2. alustada ( ) , vektor2. lõpp ( )
) ;
kui ( tulemus ) {
cout << 'vect1 on leksikograafiliselt suurem kui vect2' << endl ;
} muidu kui ( leksikograafiline_võrdle (
vektor2. alustada ( ) , vektor2. lõpp ( ) ,
vektor1. alustada ( ) , vektor1. lõpp ( )
) ) {
cout << 'vect1 on leksikograafiliselt väiksem kui vect2' << endl ;
} muidu {
cout << 'vect1 on leksikograafiliselt võrdne vektoriga 2' << endl ;
}
tagasi 0 ;
}
Väljund
See on kõik! Olete õppinud ' leksikograafiline_võrdle() ” funktsioon C++ keeles.
Järeldus
C++ puhul kasutatakse funktsiooni 'lexicoographical_compare()' elementide järjestuse sortimiseks ja sobitamiseks leksikaalses järjekorras. Suhtelise järjekorra leidmiseks on laialdaselt rakendatud sortimisalgoritmi 'lexicograpgical_compare()' meetodiga. Selles õpetuses demonstreerisime C++ funktsiooni 'lexicoographical_compare()'.