3
A
回答
6
下面的代碼應該工作:
std::multimap<int, int> M;
// initialize M here
auto it = M.upper_bound(20);
M.erase(M.begin(), it);
只需使用upper_bound然後erase。
0
#include <map>
#include <utility>
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
multimap<int, int> mp;
mp.insert(make_pair(10, 20));
mp.insert(make_pair(11, 22));
mp.insert(make_pair(12, 24));
mp.insert(make_pair(12, 25));
mp.insert(make_pair(13, 26));
mp.insert(make_pair(24, 27));
mp.insert(make_pair(25, 29));
mp.insert(make_pair(26, 30));
for(auto& elem : mp)
cout<<" first = "<<elem.first<<" second = "<<elem.second<<endl;
cout<<endl;
for(auto pos = mp.begin(); pos!=mp.end();)
{
if(pos->first <= 20)
mp.erase(pos++);
else
++pos;
}
for(auto& elem : mp)
cout<<" first = "<<elem.first<<" second = "<<elem.second<<endl;
return 0;
}
相關問題
- 1. C++找到並擦除multimap元素
- 2. STL Multimap刪除/擦除值
- 3. 擦除元素
- 4. 從multimap中完全刪除元素(C++)
- 5. 如何優化從multimap擦除
- 6. Multimap之擦除不起作用
- 7. 使用composite_key從multi_index_container中擦除每個鍵的元素
- 8. 擦除程序中的矢量元素
- 9. 如何根據其子元素的值刪除XML元素?
- 10. C++在for_each期間從擦除元素中刪除元素
- 11. 根據數值字段中的值添加或刪除元素
- 12. 根據previousElementSibling排除元素
- 13. 根據元素中的值將元素分配給元素
- 14. 根據XSLT中的值創建元素
- 15. 擦除元素從矢量擦除多個(C++)
- 16. 擦除Deque容器的元素
- 17. 結構向量的擦除元素
- 18. 根據嵌套數組中的值刪除數組元素
- 19. 根據兩個值刪除多維數組中的元素
- 20. vector :: erase不會擦除所需的元素,而是會擦除矢量中的最後一個元素
- 21. 從Multimap中的鍵獲得JSONArray值
- 22. 從對象的矢量按值擦除矢量元素
- 23. 從多級unordered_map擦除元素?
- 24. 迭代器範圍擦除元素
- 25. 結構元素擦除本身
- 26. 根據列表元素和列表字典鍵的值
- 27. 如何根據元素屬性從PriorityQueue中刪除元素?
- 28. 根據NSArray元素排序NSDictionary鍵
- 29. LINQ:根據屬性值從XML中刪除元素?
- 30. 根據屬性值從XML中刪除元素?