C++ Isih Vektor Pasangan

C Isih Vektor Pasangan



C++ menyediakan kemudahan untuk memaparkan vektor pasangan dan mengisih vektor pasangan. Terdapat bekas dalam C++ yang memegang dua nilai yang dipetakan antara satu sama lain dipanggil 'pasangan' dan 'vektor pasangan' yang merupakan vektor yang mempunyai banyak pasangan ini di dalamnya. Menyusun bermaksud menyusun data mengikut tertib menaik atau menurun mengikut keperluan. Di sini, kita akan belajar cara mengisih vektor pasangan dalam pengaturcaraan C++. Kita boleh mengisih vektor pasangan dalam kedua-dua pesanan 'menaik' dan 'menurun' dalam C++. Kita boleh mengisih vektor pasangan dengan mudah dengan menggunakan kaedah 'sort()'. Mari lakukan beberapa kod di sini untuk mengisih vektor pasangan.

Contoh 1:

Mari mulakan kod dengan memasukkan fail pengepala di sini iaitu 'bits/stdc++.h'. Selepas mempunyai fail pengepala ini, kami tidak perlu memasukkan lebih banyak fail pengepala kerana ia mengandungi semua pustaka yang diperlukan. Kemudian, kami menambah ruang nama 'std' dan memanggil fungsi 'main()'.







Sekarang, kami mengisytiharkan 'vektor pasangan' bernama 'my_vect' dan meletakkan jenis data 'int' supaya data yang kami masukkan dalam pasangan ini ialah jenis data 'integer'. Di bawah ini, kami memulakan dua tatasusunan dengan nama 'my_arr1[]' dan 'my_arr2[]'. Di sini, kami memulakan nilai pertama dan kedua pasangan dengan nilai tatasusunan ini. Kemudian, kami menggunakan gelung 'untuk' untuk memasukkan nilai ini ke dalam vektor pasangan. Di sini, kami menggunakan fungsi 'push_back()' yang membantu dalam memasukkan nilai pada akhir vektor. Di dalam fungsi ini, kami meletakkan pilihan 'make_pair' yang digunakan untuk membina objek pasangan dua nilai 'my_arr1' dan 'my_arr2'.



Selepas ini, kami mencetak vektor pasangan dengan menggunakan gelung 'untuk' sekali lagi. Di sini, kata kunci 'pertama' dan 'kedua' ditambahkan untuk mendapatkan nilai pertama dan kedua bagi vektor pasangan. Ini mencetak vektor pasangan tanpa mengisih di sini. Sekarang, kami menggunakan fungsi 'sort()' untuk mengisih vektor pasangan. Di sini, fungsi 'begin()' dan 'end()' digunakan sebagai lulus permulaan dan akhir vektor pasangan ke fungsi 'sort()' ini.



Selepas mengisih, kami mencetak vektor pasangan sekali lagi dengan menggunakan 'cout' dan meletakkan kata kunci pertama dan kedua dengan 'my_vec[i]'. Kini, vektor pasangan yang diisih turut dicetak di sini.





Kod 1:

#include

menggunakan ruang nama std;

int utama ( )

{

vektor < sepasang < awak, awak > > my_vect;

int my_arr1 [ ] = { 49 , dua puluh , lima belas , 56 } ;

int my_arr2 [ ] = { 37 , dua puluh , 90 , 55 } ;

int num = saiz ( my_arr1 ) / saiz ( my_arr1 [ 0 ] ) ;

untuk ( int i = 0 ; i < sama ada i++ )

my_vect.push_back ( buat_pasangan ( my_arr1 [ i ] ,my_arr2 [ i ] ) ) ;

cout << 'Sebelum mengisih vektor pasangan: ' << endl;

untuk ( int i = 0 ; i < sama ada i++ )

{

cout << my_vect [ i ] .pertama << ' '

<< my_vect [ i ] .kedua << endl;

}

menyusun ( my_vect.begin ( ) , my_vect.end ( ) ) ;

cout << ' \n Selepas mengisih vektor pasangan: ' << endl ;

untuk ( int i = 0 ; i < sama ada i++ )

{

cout << my_vect [ i ] .pertama << ' '

<< my_vect [ i ] .kedua << endl;

}

kembali 0 ;

}



Pengeluaran:

Vektor pasangan sebelum mengisih dipaparkan terlebih dahulu. Kemudian, kami menggunakan teknik pengisihan pada vektor pasangan ini. Kemudian, vektor pasangan yang diisih turut dipaparkan di sini. Kita dapat melihat bahawa vektor pasangan diisih dalam tertib menaik berdasarkan elemen pertama pasangan itu.

Contoh 2:

Dalam contoh ini, kami kini mencipta 'vektor pasangan' yang dipanggil 'vector_1' dan menetapkan jenis data 'int' yang bermaksud bahawa maklumat yang kami masukkan dalam pasangan ini adalah daripada jenis data 'integer'. Dua tatasusunan dengan nama 'first_arr[]' dan 'second_arr[]' dimulakan dalam perkara berikut. Di sini, kami memulakan nilai tatasusunan ini untuk nilai pasangan pertama dan kedua.

Seterusnya, kami memasukkan nilai ini ke dalam vektor pasangan menggunakan gelung 'untuk'. Pilihan 'make_pair', yang digunakan untuk menjana objek pasangan dua nilai daripada tatasusunan 'first_arr[]' dan 'second_arr[]', diletakkan di dalam kaedah 'push_back()' yang membantu memasukkan item di hujung vektor.

Seterusnya, kami menggunakan gelung 'untuk' sekali lagi untuk mengeluarkan vektor pasangan. Untuk mendapatkan nilai pertama dan kedua bagi vektor pasangan, kata kunci 'pertama' dan 'kedua' dimasukkan. Ini mengeluarkan vektor pasangan tanpa sebarang pengisihan pada ketika ini. Kami kini mengisih 'vektor pasangan' dengan menggunakan fungsi 'sort()' dalam tertib menurun. Dalam fungsi ini, kami meletakkan fungsi 'rbegin()' dan 'rend()' supaya ia akan membalikkan pengisihan dan bermula dari penghujung nilai pasangan. Ia menyusunnya dalam susunan menurun.

Selepas pengisihan, kami menggunakan 'cout' untuk mengeluarkan vektor pasangan selepas menggunakan gelung 'untuk' sekali lagi, memasukkan kata kunci pertama dan kedua dengan 'vector_1[i]' dalam 'cout'. Di sinilah vektor isihan gandingan turut dicetak.

Kod 2:

#include

menggunakan ruang nama std;

int utama ( )

{

vektor < sepasang < awak, awak > > vektor_1;

int first_arr [ ] = { 77 , 29 , 97 , lima belas } ;

int second_arr [ ] = { 35 , 89 , 64 , 25 } ;

int s = saiz ( first_arr ) / saiz ( first_arr [ 0 ] ) ;

untuk ( int i = 0 ; i < s; i++ )

vector_1.push_back ( buat_pasangan ( first_arr [ i ] , second_arr [ i ] ) ) ;

cout << 'Sebelum Mengisih:' << endl;

untuk ( int i = 0 ; i < s; i++ ) {

cout << vektor_1 [ i ] .pertama << ' ' << vektor_1 [ i ] .kedua

<< endl;

}

menyusun ( vector_1.rbegin ( ) , vector_1.rend ( ) ) ;

cout << endl << 'Selepas mengisih:' << endl;

untuk ( int i = 0 ; i < s; i++ ) {

cout << vektor_1 [ i ] .pertama << ' ' << vektor_1 [ i ] .kedua

<< endl;

}

kembali 0 ;

}

Pengeluaran:

Vektor praisih pasangan ditunjukkan di sini dahulu, diikuti oleh vektor isihan pasangan yang juga ditunjukkan di sini selepas proses isihan digunakan padanya. Seperti yang dapat kita lihat, elemen awal setiap pasangan menentukan cara vektor pasangan diisih dalam tertib menurun.

Contoh 3:

Di sini, kami mencipta fungsi jenis 'bool' bernama 'sortBySecElement' untuk mengisih nombor vektor. Dalam fungsi ini, kami meletakkan syarat, 'value1.second < value2.second', yang membandingkan nilai kedua kedua-dua vektor pasangan dan mengembalikan nombor.

Kemudian, 'utama()' digunakan dalam yang berikut di mana kita mencipta vektor pasangan. Yang berikut memulakan dua tatasusunan bernama 'new_array1[]' dan 'new_aray2[]'. Di sini, kami memasukkan nilai pasangan dalam tatasusunan ini. Seterusnya, kami menggunakan gelung 'untuk' untuk memasukkan nilai ini ke dalam vektor pasangan. Di dalam kaedah 'push_back()', yang membantu dalam memasukkan item pada akhir vektor, adalah pilihan 'make_pair' yang digunakan untuk mencipta objek pasangan dua nilai daripada 'new_array1[]' dan 'new_array2[ ]” tatasusunan.

Kami kemudian mengeluarkan vektor pasangan menggunakan gelung 'untuk' yang lain. Kata kunci 'pertama' dan 'kedua' disisipkan untuk mendapatkan nilai pertama dan kedua bagi vektor pasangan. Tiada pengisihan dilakukan pada peringkat ini, dan vektor pasangan dikeluarkan. Kami kini menggunakan fungsi 'sort()' untuk mengisihnya. Permulaan dan penghujung vektor pasangan dibekalkan kepada fungsi 'sort()' dalam kes ini melalui penggunaan fungsi 'begin()' dan 'end()'. Kami juga meletakkan fungsi 'sortBySecElement' yang kami buat sebelum ini di dalam fungsi 'sort()' ini di mana kami menetapkan corak pengisihan vektor pasangan daripada elemen kedua vektor dalam tertib menaik.

Sekarang, kami menggunakan gelung 'untuk' sekali lagi. Kemudian, kata kunci pertama dan kedua disisipkan dengan 'new_vec[i]' dalam 'cout' untuk menghasilkan vektor pasangan semula selepas mengisih. Di sinilah juga vektor yang diisih pasangan dalam tertib menaik kini dicetak.

Kod 3:

#include

menggunakan ruang nama std;

bool sortBySecElement ( pasangan const < awak, awak > & nilai1,

pasangan const < awak, awak > & nilai2 )

{

kembali ( nilai1.saat < nilai2.kedua ) ;

}

int utama ( )

{

vektor < sepasang < awak, awak > > benda_baru

int new_arr1 [ ] = { 3. 4 , 29 , 65 , 48 } ;

int new_arr2 [ ] = { 67 , 19 , 54 , 7 } ;

nilai int = saiz ( new_arr1 ) / saiz ( new_arr1 [ 0 ] ) ;

untuk ( int i = 0 ; i < nilai; i++ )

new_vec.push_back ( buat_pasangan ( new_arr1 [ i ] ,new_arr2 [ i ] ) ) ;

cout << 'Sebelum Mengisih:' << endl ;

untuk ( int i = 0 ; i < nilai; i++ )

{

cout << benda_baru [ i ] .pertama << ' '

<< benda_baru [ i ] .kedua << endl;

}

menyusun ( new_vec.begin ( ) , new_vec.end ( ) , sortBySecElement ) ;

cout << endl << 'Selepas mengisih:' << endl ;

untuk ( int i = 0 ; i < nilai; i++ )

{

cout << benda_baru [ i ] .pertama << ' '

<< benda_baru [ i ] .kedua << endl;

}

kembali 0 ;

}

Pengeluaran:

Di sini, vektor pasangan yang diisih dipaparkan, dan pengisihan dilakukan mengikut nilai kedua pasangan. Elemen pasangan kedua disimpan dalam tertib menaik dan dipaparkan di sini.

Kesimpulan

Panduan ini adalah mengenai 'vektor jenis pasangan' dalam C++. Kami meneroka 'vektor pasangan' tanpa mengisih serta menyusun 'vektor pasangan' dalam tertib menaik dan menurun. Kami menggambarkan ini dengan contoh di mana kami mengisih 'vektor pasangan' mengikut nombor pertama dan kedua pasangan ini dalam pengaturcaraan C++. Kami mengetahui bahawa kaedah 'sort()' membantu dalam melakukan pengisihan ini.