Cara Menyusun Vektor Menggunakan Lexicographical_compare() Fungsi C++

Cara Menyusun Vektor Menggunakan Lexicographical Compare Fungsi C



Fungsi ialah satu set arahan yang melaksanakan tugas tertentu. Ia digunakan untuk membuat kod tersusun, modular dan boleh digunakan semula. Dalam C++, fungsi memainkan peranan penting untuk menjadikan kod mudah. Sebagai contoh, ' lexicographical_compare() Fungsi ” digunakan untuk membandingkan dua jujukan atau julat secara leksikografik.

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 “ ” fail pengepala.







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.

” ialah kelas bekas perpustakaan standard C++ dan digunakan untuk memegang templat yang menawarkan keupayaan tatasusunan dinamik.

  • 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++.