C ++

Cara mengulangi peta di C ++

Cara mengulangi peta di C ++
Dalam tutorial ringkas ini, kita akan melihat bagaimana melakukan iterasi dalam peta di C++.

Terdapat beberapa cara untuk melakukan lelang pada peta di C++. Dengan versi C ++ yang lebih baru, ada cara yang lebih maju untuk melakukan lelaran ke atas peta di C++.

Mari kita teliti satu persatu.

Menggunakan untuk gelung dengan peta stp ::

Kami telah membuat peta bernama peta negara dan memasukkan pasangan nilai-kunci padanya.


#sertakan
#sertakan
#sertakan
#sertakan
#sertakan
menggunakan ruang nama std;
int utama ()
// Memulakan peta
peta> "India", "Delhi"));
peta negara.masukkan (pasangkan("Nepal", "Kathmandu"));
peta negara.masukkan (pasangkan("China", "Beijing"));
peta negara.masukkan (pasangkan("Perancis", "Paris"));
// Ulangi menggunakan iterator untuk gelung
untuk (auto itr = countryCapitalMap.bermula (); itr != countryCapitalMap.akhir (); itr ++)

std :: cout << itr->pertama // Kekunci akses
<< ':'
<< itr->kedua // Nilai akses
<< std::endl;

pulangan 0;


Pengeluaran:

China: Beijing
Perancis: Paris
India: Delhi
Nepal: Kathmandu

Seperti yang anda lihat, kami telah mencetak negara: modal (kunci: nilai) menggunakan untuk gelung.

Sekiranya anda perhatikan, kami telah menggunakan kereta taip penentu untuk iterator peta kerana mudah dibaca. Anda boleh menggunakan peta:: iterator secara eksplisit juga.
Nota: Sekiranya anda melihat output, ia disusun mengikut kekunci mengikut urutan menaik. Ini kerana std :: peta adalah bekas bersekutu yang disusun dengan Perbandingan yang dibekalkan (versi C ++ 11 dan seterusnya). Oleh kerana kami tidak memberikan pembanding, jadi C ++ telah menggunakan Comparator lalai untuk rentetan.

Menggunakan loop sambil dengan stp :: peta

Kita juga boleh menggunakan loop sementara dan bukan untuk loop.


#sertakan
#sertakan
#sertakan
#sertakan >
menggunakan ruang nama std;
int utama ()
// Memulakan peta
peta countryCapitalMap;
// Masukkan elemen yang berbeza dalam peta
peta negara.masukkan (pasangkan("India", "Delhi"));
peta negara.masukkan (pasangkan("Nepal", "Kathmandu"));
peta negara.masukkan (pasangkan("China", "Beijing"));
peta negara.masukkan (pasangkan("Perancis", "Paris"));
// Buat iterator untuk peta dan Permulaan dengan permulaan
auto itr = countryCapitalMap.bermula ();
// Ulangi menggunakan iterator dalam loop sementara
semasa (itr!= countryCapitalMap.akhir ())

std :: cout << itr->pertama // Kekunci akses
<< ':'
<< itr->kedua // Nilai akses
<< std::endl;
itr ++;

pulangan 0;


Pengeluaran:

China: Beijing
Perancis: Paris
India: Delhi
Nepal: Kathmandu

Menggunakan Range berdasarkan loop (versi C ++ 11 dan seterusnya)

Sekiranya anda menggunakan versi C ++ 11, maka ini adalah kaedah paling elegan untuk melakukan lelaran ke atas peta di C++. Anda boleh mengelakkan gelung kuber tradisional dan menggunakannya sebagai gantinya.


#sertakan
#sertakan
#sertakan
menggunakan ruang nama std;
int utama ()
// Memulakan peta
peta countryCapitalMap;
// Masukkan elemen yang berbeza dalam peta
peta negara.masukkan (pasangkan("India", "Delhi"));
peta negara.masukkan (pasangkan("Nepal", "Kathmandu"));
peta negara.masukkan (pasangkan("China", "Beijing"));
peta negara.masukkan (pasangkan("Perancis", "Paris"));
// Ulangi menggunakan iterator untuk gelung
untuk (const auto & ele: countryCapitalMap)
cout <
pulangan 0;


Pengeluaran:
China: Beijing
Perancis: Paris
India: Delhi
Nepal: Kathmandu

Menggunakan berasaskan jarak untuk gelung dengan pasangan nilai-kunci (versi C ++ 17 dan seterusnya)

Versi ini disokong dari c ++ 17 dan seterusnya dan menyediakan cara yang lebih fleksibel untuk berulang di peta. Anda boleh mengakses pasangan nilai-kunci secara jelas dalam peta yang memberikan penyelesaian yang lebih mudah dibaca.


#sertakan
#sertakan
#sertakan
menggunakan ruang nama std;
int utama ()
// Memulakan peta
peta countryCapitalMap;
// Masukkan elemen yang berbeza dalam peta
peta negara.masukkan (pasangkan("India", "Delhi"));
peta negara.masukkan (pasangkan("Nepal", "Kathmandu"));
peta negara.masukkan (pasangkan("China", "Beijing"));
peta negara.masukkan (pasangkan("Perancis", "Paris"));
// Ulangi menggunakan iterator untuk gelung
untuk (const auto & [key, value]: countryCapitalMap)
cout << key << ":" << value << "\n";

pulangan 0;


Pengeluaran:
China: Beijing
Perancis: Paris
India: Delhi
Nepal: Kathmandu

Itu semua tentang bagaimana melakukan lelaran pada peta di C++. Selamat pengekodan!

Cara menukar butang tetikus Kiri & Kanan pada PC Windows 10
Sudah menjadi kebiasaan bahawa semua peranti tetikus komputer dirancang secara ergonomik untuk pengguna tangan kanan. Tetapi ada peranti tetikus yang ...
Tiru klik Tetikus dengan melayang menggunakan Mouse Tanpa Klik di Windows 10
Menggunakan tetikus atau papan kekunci dalam keadaan salah penggunaan berlebihan boleh menyebabkan banyak masalah kesihatan, termasuk ketegangan, sind...
Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...