c++multimap问题,假设我有一些键值对<charA,charB>,我想让程序告诉我charA有那些值,而且重复了几次谢谢

2025-04-14 21:55:33
推荐回答(3个)
回答1:

//multimap这样使用
typedef multimap MulStr;
MulStrdatas;
datas.insert(make_pair("aaa","b"));
datas.insert(make_pair("aaa","v"));
datas.insert(make_pair("ff","a"));
datas.insert(make_pair("aaa","t"));
datas.insert(make_pair("aaa","wq"));
datas.insert(make_pair("ff","fa"));
pair  p = datas.equal_range("aaa");
for (MulStr::iterator  i=p.first; i!=p.second; ++i)
{
    cout<first<<" "<second<}

回答2:

楼上“9527坏蛋”的回答就是方法所在。结合你另一个问题的意思,可以理解为上文传下来
的参数是通过vector传下来的吗?并且vector中存的一个结构体,里面有两个成员,即A和B?

回答3:

void fun(const multimap&r,char a){
for(auto m:r){
if(m.frist==a){
//该值为所需之一
}
}
auto ite=r.find(a);
while(ite!=r.end()){
if(ite->frist!=a)break;
//该跌代器指向所需值之一

}
}