C++ Vektor Pasangan

C Vektor Pasangan



Dalam C++, vektor adalah wadah serbaguna yang dapat mengubah ukurannya secara dinamis sehingga memungkinkan manipulasi elemen secara efisien. Sedangkan pasangan adalah wadah sederhana yang dapat menampung dua objek heterogen yang menyediakan sarana yang nyaman untuk mengaitkan dan mengelola data terkait. Ketika pasangan ini diatur dalam vektor, pengembang memperoleh kemampuan untuk membuat koleksi dinamis dari pasangan nilai kunci atau kombinasi lain dari dua elemen berbeda.

Struktur data ini sangat berguna dalam skenario di mana elemen harus disimpan sebagai pasangan seperti ketika berhadapan dengan pasangan nilai kunci atau mewakili hubungan antar entitas. Pada artikel ini, kita akan mengeksplorasi konsep pasangan vektor C++ dan mengeksplorasi berbagai contoh untuk menggambarkan penerapan praktisnya.







Contoh 1: Penggunaan Dasar: Iterasi pada Vektor Pasangan

Mari kita perhatikan contoh dasar di mana kita membuat vektor pasangan yang mewakili nama siswa dan usia mereka yang sesuai. Iterasi pada vektor berpasangan mirip dengan iterasi pada vektor biasa. Seseorang dapat menggunakan iterator atau loop “for” berbasis rentang untuk mengambil setiap pasangan dalam vektor.



Contoh ini menampilkan sintaks untuk “vektor pasangan” dalam konteks yang bermakna.



#termasuk
#termasuk
#termasuk

ke utama ( ) {

std::vektor < std::pasangan < std::string, ke dalam >> Data siswa;

datasiswa.push_back ( std::buat_pasangan ( 'Adam' , dua puluh ) ) ;
datasiswa.push_back ( std::buat_pasangan ( 'Tagihan' , 22 ) ) ;
datasiswa.push_back ( std::buat_pasangan ( 'Charlie' , dua puluh satu ) ) ;

std::cout << “Data Siswa: \N ' ;
untuk ( konstanta otomatis & pelajar : data pelajar ) {
std::cout << 'Nama:' << pelajar.pertama << ', Usia: ' << pelajar.kedua << std::endl;
}

kembali 0 ;
}


Dalam cuplikan kode C++ ini, kita mulai dengan menyertakan tiga file header penting: “ ” untuk operasi input dan output, “” untuk memanfaatkan wadah vektor, dan “” untuk mengakses “std:: templat pasangan”. Header ini memungkinkan kita untuk menggunakan fungsi-fungsi yang penting bagi program kita.





Selanjutnya, dalam fungsi main(), kita mendeklarasikan vektor bernama “studentData” menggunakan container “std::vector”. Vektor ini dirancang untuk menyimpan pasangan di mana setiap pasangan merangkum nama siswa (direpresentasikan sebagai “std::string”) dan usia mereka (bilangan bulat “int”). Kemudian, kita mengisi vektor “studentData” dengan tiga pasang. Dengan menggunakan fungsi “push_back”, pasangan ditambahkan ke ujung vektor, menyesuaikan ukurannya secara dinamis. Sebuah loop kemudian melakukan iterasi melalui “studentData”, mengekstraksi dan mencetak nama dan usia setiap siswa. Outputnya menampilkan “Data Siswa:” yang menekankan pada representasi terstruktur. Nama dan umur siswa dicetak terpisah, menampilkan data yang disimpan dengan jelas.



Contoh 2: Mengurutkan Vektor Berpasangan

Mengurutkan pasangan vektor adalah operasi umum, terutama ketika berhadapan dengan asosiasi nilai kunci. Fungsi “std::sort” dari header “ ” dapat digunakan untuk tujuan ini. Mari kita lihat cara mengurutkan pasangan vektor berdasarkan elemen pertama dan kedua:

#termasuk
#termasuk
#sertakan

ke utama ( ) {

std::vektor < std::pasangan < std::string, ke dalam >> informasi;

info.push_back ( std::buat_pasangan ( 'Petrus' , limabelas ) ) ;
info.push_back ( std::buat_pasangan ( 'Dora' , 29 ) ) ;
info.push_back ( std::buat_pasangan ( 'Hanna' , dua puluh ) ) ;

std::cout << 'Informasi Asli: \N ' ;
untuk ( konstanta otomatis & entri : info ) {
std::cout << 'Nama:' << masuk.pertama << ', Usia: ' << masuk.kedua << std::endl;
}


std::sortir ( info.mulai ( ) , info.akhir ( ) ) ;

std::cout << ' \N Informasi yang Diurutkan: \N ' ;
untuk ( konstanta otomatis & entri : info ) {
std::cout << 'Usia: ' << masuk.kedua << ', Nama:' << masuk.pertama << std::endl;
}

kembali 0 ;
}


Dalam contoh kode C++ ini, kami bekerja dengan pasangan vektor untuk menyimpan dan memanipulasi data yang terkait dengan individu, khususnya nama dan usia mereka. Kami menginisialisasi vektor bernama “info pasangan” dalam fungsi main(). Selanjutnya, kami mengisi vektor ini dengan tiga pasangan, masing-masing berisi nama dan usia orang yang berbeda, menggunakan fungsi “push_back” dan “std::make_pair” untuk pembuatan pasangan yang efisien.

Kami mengeluarkan 'Informasi Asli' ke konsol. Ini melibatkan iterasi melalui vektor “info” dan mencetak komponen setiap pasangan. Kemudian, kami menggunakan algoritme “std::sort” untuk mengatur ulang vektor “info” berdasarkan operator perbandingan default untuk pasangan yang membandingkan elemen pertama dari setiap pasangan (dalam hal ini, namanya). Setelah operasi penyortiran, kami kembali mengulangi vektor “info” yang dimodifikasi dengan mencetak informasi yang diurutkan. Kali ini, keluarannya menekankan pada pengurutan berdasarkan umur, yang menggambarkan hasil dari proses penyortiran.

Contoh 3: Menggabungkan Vektor dari Berbagai Jenis

Anda mungkin menghadapi beberapa situasi di mana Anda harus menggabungkan informasi dari dua vektor. Pasangan vektor dapat membantu menjaga hubungan antar elemen dari dua vektor.

#termasuk
#termasuk

ke utama ( ) {
std::vektor < std::string > kota = { 'New York' , 'Paris' , 'Tokyo' } ;
std::vektor < ke dalam > populasi = { 8175133 , 2140526 , 37435191 } ;

std::vektor < std::pasangan < std::string, ke dalam >> kotaPopulasiPasangan;

untuk ( ukuran_t saya = 0 ; Saya < std::menit ( kota.ukuran ( ) , populasi.ukuran ( ) ) ; ++saya ) {
cityPopulationPairs.push_back ( { kota [ Saya ] , populasi [ Saya ] } ) ;
}

std::cout << 'Pasangan Penduduk Kota:' << std::endl;
untuk ( konstanta otomatis & pasangan : kotaPopulasiPairs ) {
std::cout << 'Kota: ' << pasangan.pertama << ', Populasi:' << pasangan.kedua << std::endl;
}

kembali 0 ;
}


Dalam fungsi “utama” kode, dua vektor dideklarasikan: “kota” untuk menyimpan nama kota dan “populasi” untuk menyimpan nilai populasi terkait.

Vektor ketiga, “cityPopulationPairs”, didefinisikan untuk menyimpan pasangan kota dan populasinya masing-masing. Setiap pasangan adalah “std::pair” di mana “std::string” mewakili nama kota dan “int” mewakili populasi. Kami kemudian menggunakan perulangan “for” pada vektor (kota dan populasi) menggunakan “std::min” untuk memastikan bahwa perulangan tidak mengakses elemen di luar ukuran vektor yang lebih kecil. Di dalam loop, pasangan informasi populasi kota dibuat dan ditambahkan ke vektor “cityPopulationPairs”.

Setelah menggabungkan informasi, loop “for” lainnya digunakan untuk melakukan iterasi melalui pasangan yang disimpan di “cityPopulationPairs”. Data gabungan kemudian ditampilkan pada keluaran standar menggunakan “std::cout”, yang secara jelas mewakili setiap kota dan populasi terkait.

Contoh 4: Mencari Nilai Maksimum dan Minimum

Mengidentifikasi nilai minimum dan maksimum dalam kumpulan data adalah persyaratan umum dalam operasi algoritmik dan statistik. Kita dapat menggunakan vektor pasangan untuk melacak nilai maksimum dan minimum secara berurutan:

#termasuk
#termasuk
#sertakan

ke utama ( ) {
std::vektor < ke dalam > angka = { 5 , 12 , 18 , 3 , 7 , 4 , 33 } ;

std::vektor < std::pasangan < kamu, kamu >> minMaxPairs;

std::sortir ( angka.mulai ( ) , angka.akhir ( ) ) ;

minMaxPairs.push_back ( { angka.depan ( ) , angka.kembali ( ) } ) ;

std::cout << 'Pasangan Min-Maks:' << std::endl;
untuk ( konstanta otomatis & pasangan : minMaxPairs ) {
std::cout << 'Min:' << pasangan.pertama << ', Maks:' << pasangan.kedua << std::endl;
}

kembali 0 ;
}


Kode C++ yang disediakan menunjukkan proses mencari nilai minimum dan maksimum dalam vektor bilangan bulat dan kemudian menyimpan nilai-nilai tersebut dalam vektor berpasangan. Sebuah vektor bernama “angka” awalnya dideklarasikan dan diinisialisasi dengan sekumpulan bilangan bulat. Untuk mengidentifikasi nilai minimum dan maksimum secara efisien dalam kumpulan data, program ini menggunakan fungsi “std::sort” dari perpustakaan algoritma.

Fungsi ini bertujuan untuk menyusun elemen dalam urutan menaik, menyederhanakan proses identifikasi nilai minimum dan maksimum dalam dataset. Operasi penyortiran diterapkan pada vektor “angka” menggunakan angka.begin() dan angka.end() sebagai parameter rentang. Setelah langkah pengurutan, program membuat vektor pasangan, “minMaxPairs”, untuk menyimpan nilai minimum dan maksimum yang dihitung. Fungsi “push_back” kemudian digunakan untuk menjumlahkan satu pasangan yang berisi elemen pertama (minimum) dan terakhir (maksimum) vektor bilangan yang diurutkan. Terakhir, program mengeluarkan hasilnya dengan melakukan iterasi melalui vektor “minMaxPairs” dan menampilkan nilai minimum dan maksimum.

Kesimpulan

Kesimpulannya, pasangan vektor C++ muncul sebagai struktur data yang kuat dan fleksibel, menambahkan lapisan fleksibilitas pada tugas pemrograman. Melalui eksplorasi mendetail mengenai sintaksis dan aplikasi praktisnya, kita telah melihat bagaimana wadah ini membantu mengatur asosiasi nilai kunci, menggabungkan informasi dari berbagai vektor, dan melacak nilai minimum dan maksimum.