Menyimpan Pasangan Nilai Kunci yang Dimasukkan dalam Susunan dengan std::map
Std::map ialah struktur data bekas yang menyimpan kunci -pasangan nilai dalam susunan yang disusun berdasarkan kekunci. Walau bagaimanapun, apabila timbul keperluan untuk mengekalkan susunan sisipan pasangan, peta tidak lagi menyediakan fungsi ini.
Penyelesaian Alternatif
Contoh Kod:
Pertimbangkan coretan kod ini menggunakan pendekatan boost::multi_index:
#include <boost/multi_index_container.hpp> #include <boost/multi_index/member.hpp> #include <boost/multi_index/random_access.hpp> #include <boost/multi_index/hashed_unique.hpp> struct value_t { std::string s; int i; }; struct string_tag {}; typedef boost::multi_index_container< value_t, boost::multi_index::indexed_by< boost::multi_index::random_access<>, // Insertion order index boost::multi_index::hashed_unique<boost::multi_index::tag<string_tag>, boost::multi_index::member<value_t, std::string, &value_t::s>> > > values_t;
Dalam contoh ini, nilai_t bekas menggunakan dua indeks: indeks pesanan sisipan dan indeks unik dicincang pada ahli s. Ini membolehkan kedua-dua lelaran tersusun dan carian cekap oleh kekunci s.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Susunan Sisipan Apabila Menyimpan Pasangan Nilai Kunci dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!