2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 2.6map映照容器

2.6map映照容器

时间:2022-02-17 22:43:43

相关推荐

2.6map映照容器

特点:①键值与映照数据一一对应

②插入的键值不允许重复

③比较函数只对元素的键值比较

④用法与set相似,红黑树(搜索速度极快)的数据结构

头文件:#include<map>//包含对multimap多重映照的定义

2.6.1 map创建、元素插入和遍历访问

2.6.2 删除元素 erase();clear();

2.6.3 元素反向遍历 rbegin();rend();

2.6.4 元素的搜索 find();end();

#pragma warning(disable:4786) #include <iostream>#include <string>#include <map>using namespace std;int main(){/* map<string,float> m;m["Jack"]=98.5;m["Bomi"]=96.0;m["Kate"]=97.5;map<string,float>::iterator it;//前向遍历元素 */map<int,char> m;//键值由小到大放入黑白树中 m[25]='m';m[28]='k';m[10]='x';m[30]='a';/*m.erase(28);//删除键值为28的元素 */map<int,char>::iterator it ;//前向遍历元素 it=m.find(28);if(it!=m.end())//搜索到该关键值 {cout<<(*it).first<<" : "<<(*it).second<<endl;} else{cout<<"not found it"<<endl;}/* for(it=m.begin();it!=m.end();it++){//输出键值与映照数据 cout<<(*it).first<<" : "<<(*it).second<<endl;}map<int,char>::reverse_iterator rit;//反向遍历元素 for(rit=m.rbegin();rit!=m.rend();rit++){cout<<(*rit).first<<" : "<<(*rit).second<<endl;} */ return 0;}

2.6.5 自定义比较函数

#pragma warning(disable:4786) #include <iostream>#include <string>#include <map>using namespace std;//自定义比较函数 struct myComp{bool operator() (const int &a,const int &b){if(a!=b) return a>b;elsereturn a>b;}};//元素是结构体,比较函数写在结构体内 struct Info{string name;float score;bool operator < (const Info &a) const{return a.score<score; //按score由大到小排列 ,反之用>}};int main(){/* map<int,char,myComp> m;//定义map对象,当前没有任何元素 m[25]='m';//插入元素,键值由小到大放入黑白树中 m[28]='k';m[10]='x';m[30]='a';map<int,char,myComp>::iterator it;//使用前向迭代器中序遍历mapfor(it=m.begin();it!=m.end();it++) {cout<<(*it).first<<" : "<<(*it).second<<endl;}*/map<Info,int> m;//定义 map对象 Info 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;//使用前向迭代器中序遍历map for(it=m.begin();it!=m.end();it++){cout<<(*it).second<<" : ";cout<<((*it).first).name<<" "<<((*it).first).score<<endl;}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
C++ map 映照容器

C++ map 映照容器

2019-09-24

STL—map(映照容器)

STL—map(映照容器)

2023-11-15

map映照容器的使用

map映照容器的使用

2020-09-17

C++ map 映照容器

C++ map 映照容器

2023-07-01