multimap <int, string> mm;
(1, A),
(2, B),
(3, D),
(3, C)
我能夠使用多圖鍵以數字順序獲得一些數據,但在重複的情況下,我希望按順序排列值。按鍵排序後按值對multimap進行排序
(1, A),
(2, B),
(3, C),
(3, D)
這樣做的最簡單方法是什麼?看到地圖只能按鍵排序,我想我必須做出一些排序,但不知道如何繼續。
multimap <int, string> mm;
(1, A),
(2, B),
(3, D),
(3, C)
我能夠使用多圖鍵以數字順序獲得一些數據,但在重複的情況下,我希望按順序排列值。按鍵排序後按值對multimap進行排序
(1, A),
(2, B),
(3, C),
(3, D)
這樣做的最簡單方法是什麼?看到地圖只能按鍵排序,我想我必須做出一些排序,但不知道如何繼續。
有兩個合理的解決方法---選擇一個更合理的解決方案。
如果查看int
作爲密鑰和string
作爲一個值,而是一個鍵可以被映射到多個值---換句話說,如果查看兩對相同的int
爲相同的部分「組」,您可能想要輕鬆遍歷特定組,然後使用map<int, multiset<string> >
。
如果你查看每個int
,string
對作爲不同的,有的只是對可能發生向有相同int
,那麼你想有一個multiset<pair<int, string> >
。
在該複製對(兩者int
和string
是相同的)應該不存在的情況下,這些成爲分別map<int, set<string> >
和set<pair<int, string> >
。
將您的multimap
置入set<pair<int, string>>
。
一組對如何? –
你可以定義你自己的'compare'函數並對它們進行排序。 – herohuyongtao