我有多重映射:刪除重複的關鍵
std::multimap < string, string >::iterator iter_map;
multimap < string, set<string> > my.map;
Typical output and data structure:
key - value
bird - air
bird - earth
fish - water
lion - earth
lion - water
我想改變的數據結構(沒有隻打印到),使得新的數據 是:
bird - air, earth
fish - water
lion - earth, water
以其他方式,如何消除重複鍵?
我這樣做:
int size_mmap = namesMultiMap1.size();
pair<multimap<string,string>::iterator,multimap<string,string>::iterator> ret;
for (int i = 0; i < 1; i++){
cout << " xxx "<< " =>";
ret = namesMultiMap1.equal_range("xxx");
for (nameItr1=ret.first; nameItr1!=ret.second; ++nameItr1)
cout << " " << (*nameItr1).second;
}
這樣,我在打印一鍵XXX associeted的值,但我一次打印元素。 我想打印所有的鍵和值。我需要自動化,因爲地圖很大。 如果我使用迭代器爲namesMultiMap1 a迭代打印重複鍵。
我的猜測是迭代的my.map->第一,比較等號鍵,以及相同的鍵把價值一組一組的。但目前這沒有奏效。 – user1871217
顯示代碼,我們將看到有什麼問題 – piokuc
請在上方編輯代碼。 – user1871217