Tôi cố gắng để viết một chương trình trong cpp sử dụng bản đồ ...Làm thế nào để tránh giá trị nhân bản trong các bản đồ sử dụng C++
Mục tiêu của tôi là để tránh các giá trị tương tự lặp đi lặp lại trong các bản đồ ..
nếu phím tương tự, chúng tôi có thể sử dụng bản đồ để tránh các khóa trùng lặp. Để cho phép các khóa trùng lặp, chúng tôi sử dụng nhiều hình thức
Nếu giá trị giống nhau, chúng tôi có thể tránh như thế nào? Chương trình
mà tôi đã viết cho phép giá trị nhân bản
typedef std::map<int, std::string> MyMap;
int main()
{
MyMap map;
MyMap::iterator mpIter;
int key;
string value;
int count;
for(count = 0; count < 3;count++)
{
cin >> key;
cin >> value;
std::pair<MyMap::iterator, bool> res = map.insert(std::make_pair(key,value));
}
for (mpIter=map.begin(); mpIter != map.end(); ++mpIter)
cout << " " << (*mpIter).second << endl;
}
Bạn không cần 'std :: map' rồi –
Hoặc Boost.Bimap với cả hai mặt là bộ? –
Kiểm tra xem giá trị đã có mặt với bản đồ chưa :: tìm và bỏ qua nó nếu nó ở đó. Vấn đề của bạn là gì? – AnatolyS