关于map

来源:互联网 发布:安卓软件挂 编辑:程序博客网 时间:2024/06/12 18:48
偷笑大笑吐舌头
#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
原创粉丝点击