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. STL Multimap删除/擦除值
- 2. 擦除元素
- 3. 如何优化从multimap擦除
- 4. Multimap之擦除不起作用
- 5. 擦除程序中的矢量元素
- 6. C++在for_each期间从擦除元素中删除元素
- 7. 根据数值字段中的值添加或删除元素
- 8. 结构向量的擦除元素
- 9. 根据嵌套数组中的值删除数组元素
- 10. 根据两个值删除多维数组中的元素
- 11. vector :: erase不会擦除所需的元素,而是会擦除矢量中的最后一个元素
- 12. 从对象的矢量按值擦除矢量元素
- 13. 从Multimap中的键获得JSONArray值
- 14. 根据列表元素和列表字典键的值
- 15. 根据属性值从XML中删除元素?
- 16. LINQ:根据属性值从XML中删除元素?
- 17. 根据NSArray元素排序NSDictionary键
- 18. 在Multimap中为特定键选择随机元素
- 19. 擦除价值
- 20. 根据属性的值选择元素
- 21. 在multimap中查找一个元素只有它的值C++
- 22. 如何根据multimap中存在的值检索密钥?
- 23. 从设置使用值或iteraor擦除元素
- 24. 函数中的向量中的擦除元素
- 25. 如何根据条件去除元素?
- 26. C++在multimap中查找键和值
- 27. XSD根据以前的元素值更改可用元素
- 28. 根据元素上的条件值排序numpy数组元素
- 29. 如何排除XSD中的根元素?
- 30. 如何根据其他元素值+ XSLT