Dalam panduan komprehensif ini, kami akan menunjukkan fungsi 'lexicographical_compare()' dalam C++ dengan program.
Apakah Fungsi 'lexicographical_compare()' dalam C++
Dalam C++, fungsi 'lexicograpfical_compare()' ialah operasi yang sangat berkesan untuk membandingkan dan mengisih unsur dalam urutan (tertib leksikografi). Ia menyediakan kemudahan untuk menentukan susunan masing-masing yang merupakan hasil daripada membandingkan jujukan, seperti julat dan rentetan. Fungsi ini boleh diakses dalam C++ dengan menggunakan “
Sintaks
Berikut ialah sintaks fungsi 'lexicographical_compare()' dalam C++:
templat < kelas InputIter1, kelas InputIter2 >
bool leksikografi_bandingkan ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;
Menurut kod yang diberikan di atas, “ lexicographical_compare() fungsi ' menerima dua pasang julat ' pertama1 ” dan “ lepas1 ' iterator input untuk julat pertama dan ' pertama2 ” dan “ lepas2 ” iterator input untuk julat kedua. Ia memadankan kedua-dua elemen julat dalam susunan leksikografi.
Jenis pemulangan: Ia mengembalikan nilai boolean (benar atau salah). Ia akan kembali benar apabila julat pertama secara leksikografi lebih kecil daripada julat kedua sebaliknya mengembalikan palsu.
Pengecualian: Jika terdapat ralat yang ditemui semasa perbandingan ia akan membuang pengecualian.
Cara Menyusun Vektor Menggunakan Lexicographical_compare() Fungsi C++
Fungsi 'lexicographical_compare()' sering digunakan dalam teknik pengisihan untuk mengetahui susunan elemen. Ia sepadan dengan susunan elemen masing-masing sehingga julat selesai.
Contoh lexicograpical_compare() Fungsi Isih dan Bandingkan Vektor Rentetan
Mari lihat contoh yang disediakan yang menunjukkan ' sort() ' kaedah dengan ' lexicographical_compare() ”:
#include#include
#include
menggunakan ruang nama std ;
di sini:
- “
” digunakan untuk operasi input dan output.
“
- “
Fail pengepala ” digunakan untuk mengakses kaedah “sort()” untuk fungsi “lexicographical_compare()”. - “ menggunakan ruang nama std ” dirujuk sebagai arahan yang menggunakan semua nama daripada ruang nama tanpa menyebut awalan “std” secara eksplisit.
Seterusnya, di dalam ' utama() fungsi ', kami memulakan dua vektor ' vect1 ” dan “ vect2 ” dengan rentetan yang sama. Selepas ini, gunakan ' sort() ' kaedah untuk mengisih unsur dalam susunan leksikografi kedua-dua vektor dengan ' vect1.begin() ” dan “ vector1.end() ” julat iterator untuk “vect1”, dan “ vect2.begin() ” dan “ vect2.end() julat ” untuk “vect2”. Kemudian, dipanggil ' lexicographical_compare() ” fungsi yang mengambil empat argumen untuk kedua-dua vektor.
Hasilnya akan disimpan dengan ' bool ” taip dalam “ hasil ” pembolehubah dan kembali benar jika julat “vect1” secara leksikografi lebih kecil daripada julat “vect2” dan palsu sebaliknya. Akhir sekali, gunakan ' jika ” kenyataan untuk memaparkan keputusan. Jika ' hasil ” adalah benar ia bermaksud “vect1” secara leksikografik “ > ” daripada “vect2”. Jika tidak, syarat else akan dilaksanakan:
int utama ( ) {vektor < tali > vect1 = { 'Musim bunga' , 'Musim panas' , 'Musim luruh' , 'Musim sejuk' } ;
vektor < tali > vect2 = { 'Musim bunga' , 'Musim panas' } ;
menyusun ( vect1. bermula ( ) , vect1. tamat ( ) ) ;
menyusun ( vect2. bermula ( ) , vect2. tamat ( ) ) ;
// bandingkan kedua-dua vektor menggunakan lexicographical_compare()
bool hasil = leksikografi_bandingkan (
vect1. bermula ( ) , vect1. tamat ( ) ,
vect2. bermula ( ) , vect2. tamat ( )
) ;
jika ( hasil ) {
cout << 'vect1 secara leksikografi lebih besar daripada vect2' << endl ;
} lain jika ( leksikografi_bandingkan (
vect2. bermula ( ) , vect2. tamat ( ) ,
vect1. bermula ( ) , vect1. tamat ( )
) ) {
cout << 'vect1 secara leksikografi kurang daripada vect2' << endl ;
} lain {
cout << 'vect1 secara leksikografik sama dengan vect2' << endl ;
}
kembali 0 ;
}
Pengeluaran
Itu sahaja! Anda telah mempelajari tentang ' lexicographical_compare() ” fungsi dalam C++.
Kesimpulan
Dalam C++, fungsi 'lexicographical_compare()' digunakan untuk mengisih dan memadankan jujukan unsur dalam susunan leksikal. Algoritma pengisihan dengan kaedah 'lexicograpgical_compare()' dilaksanakan secara meluas untuk mencari susunan relatif. Dalam tutorial ini, kami menunjukkan fungsi 'lexicographical_compare()' dalam C++.