社区
C++ 语言
帖子详情
multimap容器如何删除某键下指定的值?
heerozh
2005-07-31 08:37:20
multimap<string, string> a;
typedef pair<string, string> Pair;
a.insert( Pair("name", "value1") );
a.insert( Pair("name", "value2") );
a.insert( Pair("name", "value3") );
我要删除"name", "value2"的话如何弄?
谢谢。。。
...全文
752
4
打赏
收藏
multimap容器如何删除某键下指定的值?
multimap a; typedef pair Pair; a.insert( Pair("name", "value1") ); a.insert( Pair("name", "value2") ); a.insert( Pair("name", "value3") ); 我要删除"name", "value2"的话如何弄? 谢谢。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lw1a2
2005-07-31
打赏
举报
回复
我的错了,重新写一个:
#include <iostream>
#include <map>
#include <utility>
#include <string>
using namespace std;
multimap<string, string> a;
typedef pair<string, string> Pair;
int main()
{
a.insert( Pair("name", "value1") );
a.insert( Pair("name", "value2") );
a.insert( Pair("name", "value3") );
pair<multimap<string, string>::iterator,multimap<string, string>::iterator> pos;
pos=a.equal_range("name");
multimap<string, string>::iterator it;
for(it=pos.first;it!=pos.second;++it)
if(it->second=="value2")
a.erase(it);
it=a.begin();
while(it!=a.end())
{
cout<<"( "<<it->first<<", "<<it->second<<" ) ";
++it;
}
system("pause");
}
foochow
2005-07-31
打赏
举报
回复
// 16.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<map>
#include<iterator>
#include<string>
#include<algorithm>
using namespace std;
typedef pair<string, string> Pair;
int main()
{
multimap<string, string>a;
a.insert( Pair("name", "value1"));
a.insert( Pair("name", "value2"));
a.insert( Pair("name", "value3"));
pair<multimap<string, string>::iterator,multimap<string, string>::iterator>ps;
ps=a.equal_range("name");
multimap<string, string>::iterator it;
it=ps.first;
while(it!=ps.second)
{
if(it->second=="value2")a.erase(it++);
else it++;
}
system("PAUSE");
return 0;
}
heerozh
2005-07-31
打赏
举报
回复
这样可以?erase只能删键值吧?
如果可以的话,还是有问题。。这样所有"value2"的都删了,而不是"name"下的"value2"
lw1a2
2005-07-31
打赏
举报
回复
a.erase( "value2");
【C++】STL
容器
-
multimap
容器
(
multimap
容器
简介 |
multimap
容器
常用操作 api - 插入 /
删除
/ 修改 元素 )
一、
multimap
容器
简介 1、
容器
简介 2、代码示例 -
multimap
容器
二、
multimap
容器
常用操作 api 1、插入元素 2、
删除
元素 3、修改元素 4、代码示例 - 插入 /
删除
/ 修改 元素
C++ map
容器
和
multimap
容器
(STL map
容器
)_c++ unordered_mutilmap
map
容器
是关联
容器
的一种。在关联
容器
中,对象的位置取决于和它关联的键的
值
。键可以是基本类型也可以是类类型。关联
容器
是与非关联
容器
(顺序
容器
)相对应的,顺序
容器
中元素的位置不依赖于元素的
值
,而是和该元素加入
容器
时的位置有关。按关键字有序保存元素map 关联数组;保存关键字-
值
对set 关键字即
值
,只保存关键字的
容器
multimap
关键字可以重复出现的mapmultiset 关键字可以重复出现的set无序关联
容器
unordered_map 用哈希函数组织的map,无序。
multimap
容器
multimap
容器
具有和 map 相同的特性,即
multimap
容器
也用于存储 pair<const K, T> 类型的键
值
对(其中 K 表示键的类型,T 表示
值
的类型),其中各个键
值
对的键的
值
不能做修改;并且,该
容器
也会自行根据键的大小对存储的所有键
值
对做排序操作。和 map
容器
的区别在于,
multimap
容器
中可以同时存储多(≥2)个键相同的键
值
对。 创建C++
multimap
容器
的方法 1) 通过调用
multimap
类模板的默认构造函数,可以创建一个空的 mul.
C++之STL的
multimap
容器
multiset是一个关联
容器
,是基于平衡二叉搜索树(红黑树)实现的,元素是有序的,但是元素不是唯一的,可重复的下面说说
multimap
与map的区别。
C++ STL
multimap
容器
(深入了解,一文学会)
multimap
容器
和map
容器
,都是关联式
容器
。所谓“相似”,指的是
multimap
容器
具有和 map 相同的特性,即
multimap
容器
也用于存储 pair<const K, T> 类型的键
值
对(其中 K 表示键的类型,T 表示
值
的类型),其中各个键
值
对的键的
值
不能做修改;并且,该
容器
也会自行根据键的大小对存储的所有键
值
对做排序操作。和 map
容器
的区别在于,
multimap
容器
中可以同时存储多(≥2)个键相同的键
值
对。 本文作者原创,转载请附上文章出处...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章