Cara Mengurutkan Vektor Menggunakan Fungsi lexicographical_compare() C++

Cara Mengurutkan Vektor Menggunakan Fungsi Lexicographical Compare C



Fungsi adalah seperangkat instruksi yang melakukan tugas tertentu. Ini digunakan untuk membuat kode terorganisir, modular, dan dapat digunakan kembali. Di C++, fungsi memainkan peran penting untuk membuat kode menjadi sederhana. Misalnya, “ leksikografis_bandingkan() ” fungsi digunakan untuk membandingkan dua urutan atau rentang secara leksikografis.

Dalam panduan komprehensif ini, kami akan mendemonstrasikan fungsi “lexicographical_compare()” di C++ dengan program ini.

Apa itu Fungsi “lexicographical_compare()” di C++

Di C++, fungsi “lexicograpfical_compare()” adalah operasi yang sangat efektif untuk membandingkan dan mengurutkan elemen secara berurutan (urutan leksikografis). Ini menyediakan fasilitas untuk menentukan urutan masing-masing yang merupakan hasil dari membandingkan urutan, seperti rentang dan string. Fungsi ini dapat diakses di C++ dengan menggunakan “ ” file tajuk.







Sintaksis



Berikut adalah sintaks fungsi “lexicographical_compare()” di C++:



templat < kelas InputIter1, kelas InputIter2 >
bool perbandingan_leksikografis ( InputIter1 pertama1, InputIter1 terakhir1, InputIter2 pertama2, InputIter2 terakhir2 ) ;

Menurut kode yang diberikan di atas, ' leksikografis_bandingkan() ” fungsi menerima dua pasang rentang “ pertama1 ' Dan ' terakhir1 ” masukkan iterator untuk rentang pertama dan “ pertama2 ' Dan ' last2 ” masukkan iterator untuk rentang detik. Ini cocok dengan kedua elemen rentang dalam urutan leksikografis.





Jenis Pengembalian: Ini mengembalikan nilai boolean (benar atau salah). Ini akan mengembalikan true ketika rentang pertama secara leksikografis lebih kecil dari rentang kedua, jika tidak mengembalikan false.

Pengecualian: Jika ada kesalahan yang ditemukan selama perbandingan, itu akan memunculkan pengecualian.



Cara Mengurutkan Vektor Menggunakan Fungsi lexicographical_compare() C++

Fungsi “lexicographical_compare()” sering digunakan dalam teknik sorting untuk mengetahui urutan elemen. Ini cocok dengan urutan masing-masing elemen hingga rentang selesai.

Contoh Fungsi lexicograpical_compare() Mengurutkan dan Membandingkan Vektor String

Mari kita lihat contoh yang disediakan yang menunjukkan “ menyortir() ” metode dengan “ leksikografis_bandingkan() ”:

#termasuk
#termasuk
#sertakan
menggunakan ruang nama std ;

Di Sini:

  • ” digunakan untuk operasi input dan output.

” adalah kelas wadah pustaka standar C++ dan digunakan untuk menampung templat yang menawarkan kemampuan larik dinamis.

  • ” file header digunakan untuk mengakses metode “sort()” untuk fungsi “lexicographical_compare()”.
  • menggunakan namespace std ” disebut sebagai arahan yang menggunakan semua nama dari namespace tanpa secara eksplisit menyebutkan awalan 'std'.

Selanjutnya, di dalam “ utama() ”, kami menginisialisasi dua vektor” vect1 ' Dan ' vect2 ” dengan string yang sama. Setelah ini, gunakan ' menyortir() ” metode untuk mengurutkan elemen dalam urutan leksikografis dari kedua vektor dengan “ vect1.begin() ' Dan ' vektor1.end() ” kisaran iterator untuk “vect1”, dan “ vect2.begin() ' Dan ' vect2.end() rentang untuk 'vect2'. Kemudian, dipanggil ' leksikografis_bandingkan() ” yang membutuhkan empat argumen untuk kedua vektor.

Hasilnya akan disimpan dengan “ bool ' ketik ' hasil ” dan kembalikan true jika rentang 'vect1' secara leksikografis lebih kecil dari rentang 'vect2', dan salah jika sebaliknya. Terakhir, terapkan ' jika ” pernyataan untuk menampilkan hasil. Jika “ hasil 'benar itu berarti' vect1 'secara leksikografis' > ” daripada “vect2”. Jika tidak, kondisi else akan dijalankan:

int utama ( ) {
vektor < rangkaian > vect1 = { 'Musim semi' , 'Musim panas' , 'Musim gugur' , 'Musim dingin' } ;
vektor < rangkaian > vect2 = { 'Musim semi' , 'Musim panas' } ;

menyortir ( vect1. mulai ( ) , vect1. akhir ( ) ) ;
menyortir ( vect2. mulai ( ) , vect2. akhir ( ) ) ;
// bandingkan kedua vektor menggunakan lexicographical_compare()
bool hasil = perbandingan_leksikografis (
vect1. mulai ( ) , vect1. akhir ( ) ,
vect2. mulai ( ) , vect2. akhir ( )
) ;

jika ( hasil ) {
cout << 'vect1 secara leksikografis lebih besar dari vect2' << endl ;
} kalau tidak jika ( perbandingan_leksikografis (
vect2. mulai ( ) , vect2. akhir ( ) ,
vect1. mulai ( ) , vect1. akhir ( )
) ) {
cout << 'vect1 secara leksikografis kurang dari vect2' << endl ;
} kalau tidak {
cout << 'vect1 secara leksikografis sama dengan vect2' << endl ;
}
kembali 0 ;
}

Keluaran

Itu saja! Anda telah belajar tentang “ leksikografis_bandingkan() ” berfungsi dalam C++.

Kesimpulan

Di C++, fungsi 'lexicographical_compare()' digunakan untuk mengurutkan dan mencocokkan urutan elemen dalam urutan leksikal. Algoritma pengurutan dengan metode “lexicograpgical_compare()” diimplementasikan secara luas untuk menemukan urutan relatif. Dalam tutorial ini, kami mendemonstrasikan fungsi “lexicographical_compare()” di C++.