25
2012
10

linux下练习 c++ 关联式容器multimap特性

multimap.cpp

/*
multimap特性
key可以重复
不支持下标访问
*/
#include<iostream>
#include<string>
#include "print.h"
#include<map>
using namespace std;
typedef pair<int,string>  pairmp;
typedef multimap<string,double> MS;
int main()
{
MS m;
m.insert(MS::value_type("t1",1000));
m.insert(MS::value_type("t1",1300));
m.insert(make_pair("t2",3000));
m.insert(MS::value_type("t1",1800));
m.insert(make_pair("t2",100000));
m.insert(MS::value_type("t1",1600));
print(m.begin(),m.end());
MS::iterator ib=m.begin(),ie;
MS m2;
while(ib!=m.end())
{
string name=ib->first;//first:K,second:V
ie=m.upper_bound(name);//同一个key的一个区别上界
double sum=0.0;
while(ib!=ie)
{
sum+=(ib++)->second;
}
m2.insert(make_pair(name,sum));//处理,并加入一个容量
}
print(m2.begin(),m2.end());
return 0;
}


运行:



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。