C++multimap一对多遍历问题
比如我知道map[1]=amap[2]=bmap[2]=cmap[3]=d如何寻找map[2]对应的值b,c?...
比如我知道map[1]=a map[2]=b map[2]=c map[3]=d 如何寻找map[2]对应的值b,c?
展开
1个回答
展开全部
你可以使用multimap::equal_range(key) 找出 key值 所对应元素的范围。如下所示:
#include <iostream>
#include <map>
using namespace std;
typedef multimap<int, char> mmic;
int main (){
mmic m;
m.insert(make_pair(2, 'b'));
m.insert(make_pair(1, 'a'));
m.insert(make_pair(3, 'c'));
m.insert(make_pair(2, 'c'));
pair<mmic::iterator, mmic::iterator> ret = m.equal_range(2);
for(mmic::iterator it=ret.first; it!=ret.second; ++it)
cout << it->second << endl;
}
// 将打印 b c
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询