#include<cstdio>#include<cstring>#include<vector>#include<iostream>#include<algorithm>#include<set>#include<map>//下面是允许重复的map的用法using namespace std;//元素不是结构体struct mycmp{ bool operator()(const int &a,const int &b) { if(a!=b) return a>b; else return a>b; }};int main(){ map<string,float> m; m["Jack"]=98.5; m["Bomi"]=96.0; m["Kate"]=97.5; map<int,char,mycmp> mm; mm[25]='m'; mm[28]='k'; mm[10]='x'; mm[30]='a'; map<string,float>::iterator it; for(it=m.begin();it!=m.end();it++)//map也是默认按第一个值进行排序的 { cout<<(*it).first<<" : "<<(*it).second<<endl; } map<int,char,mycmp>::iterator itt; itt=mm.find(28); cout<<(*itt).first<<" : "<<(*itt).second<<endl; mm.erase(28); itt=mm.find(28); if(itt!=mm.end()) cout<<(*itt).first<<" : "<<(*itt).second<<endl; else cout<<"not found itt "<<endl; for(itt=mm.begin();itt!=mm.end();itt++)//嗯嗯,默认按第一个值进行排序 { cout<<(*itt).first<<" : "<<(*itt).second<<endl; } map<int,char>::reverse_iterator rit;//反转一下; for(rit=mm.rbegin();rit!=mm.rend();rit++) { cout<<(*rit).first<<" : "<<(*rit).second<<endl; } return 0;}
#include<cstdio>#include<cstring>#include<vector>#include<iostream>#include<algorithm>#include<set>#include<map>//下面是允许重复的map的用法using namespace std;//元素是结构体struct Info{ string name; float score; bool operator<(const Info &a) const { return a.score<score;//按score由大到小排序。如果要由小到大排列,使用“〉”即可 }};int main(){ map<Info,int> m; Info info; info.name="Jack"; info.score=60; m[info]=25; info.name="Bomi"; info.score=80; m[info]=10; info.name="Peti"; info.score=66.5; m[info]=30; map<Info,int>::iterator it; for(it=m.begin();it!=m.end();it++)//咦哈,也按第二个值的大小排哈! { cout<<(*it).second<<" : "; cout<<((*it).first).name<<" "<<((*it).first).score<<endl; } return 0;}
#include<cstdio>#include<cstring>#include<vector>#include<iostream>#include<algorithm>#include<set>#include<map>using namespace std;int main(){ map<char,int> m; m['0']=0; m['1']=1; m['2']=2; m['3']=3; m['4']=4; m['5']=5; m['6']=6; m['7']=7; m['8']=8; m['9']=9; /*以上相当于 for(int j=0;j<10;j++) { m['0'+j]=j; } */ string sa,sb; sa="6234"; int i; int sum=0; for(i=0;i<sa.length();i++) { sum+=m[sa[i]]; } cout<<"sum="<<sum<<endl; return 0;}
#include<cstdio>#include<cstring>#include<vector>#include<iostream>#include<algorithm>#include<set>#include<map>//multimapusing namespace std;int main(){ multimap<string,double> m; m.insert(pair<string,double>("Jack",300.5)); m.insert(pair<string,double>("Kity",200)); m.insert(pair<string,double>("Memi",500)); m.insert(pair<string,double>("Jack",306)); multimap<string,double>::iterator it; m.erase("Jack"); for(it=m.begin();it!=m.end();it++) { cout<<(*it).first<<" : "<<(*it).second<<endl; } it=m.find("Jack"); if(it!=m.end()) { cout<<(*it).first<<" "<<(*it).second<<endl; } else { cout<<" not find it"<<endl; } return 0;}
0 0