



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+中map容器的说明和使用技巧C+中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。一、map的说明1头文件#include2定义mapmy_Map;或者是typedefmapMY_MAP;MY_MAPmy_Map;3插入数据(1)my_Mapa=1;(2)my_Map.insert(map:value_type(“b”,2);(3)my_Map.insert(pair(“c”,3);(4)my_Map.insert(make_pair(“d”,4);4查找数据和修改数据(1)inti=my_Mapa;my_Mapa=i;(2)MY_MAP:iteratormy_Itr;my_Itr.find(“b”);intj=my_Itr-second;my_Itr-second=j;不过注意,键本身是不能被修改的,除非删除。5删除数据(1)my_Map.erase(my_Itr);(2)my_Map.erase(“c”);还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。6迭代数据for(my_Itr=my_Map.begin();my_Itr!=my_Map.end();+my_Itr)7其它方法my_Map.size()返回元素数目my_Map.empty()判断是否为空my_Map.clear()清空所有元素可以直接进行赋值和比较:=,=,=,!=等等更高级的应用查帮助去吧,_;二/map的举例要求: 将mymap中itemstruct的a大于100的项删除structitemstructinta;charb20;mapmymap.解答1:#include#include#includeusingnamespacestd;typedefstructitemstructinta;charb20;itemS;itemSs4=102,”what”,33,”hello”,198,”world”,45,”c+”;intmain()mapmymap;stringstr4=“1st”,”2nd”,”3rd”,”4th”;for(inti=0;i4;i+)mymap.insert(make_pair(stri,si);map:iteratorit;for(it=mymap.begin();it!=mymap.end(); it+)if(it-second.a 100)i=mymap.erase(it);正确mymap.erase(it);it失效./first是Key, second是value;for(it = mymap.begin();it!=mymap.end(); it+)coutfirst”second.a”second.bendl;system(“pause”);return0;解答2:#include#include#include#include#includeusingnamespacestd;structitemstructinta;charb20;itemstruct(intt,char*str)a=t;strcpy(b,str);intmain()mapmymap;mymap.insert(make_pair(“a”,itemstruct(10,”hanzhou”);mymap.insert(make_pair(“ab”,itemstruct(20,”fuzhou”);mymap.insert(make_pair(“abc”,itemstruct(30,”zhengzhou”);mymap.insert(make_pair(“abcd”,itemstruct(200,”wuhan”);mymap.insert(make_pair(“abcde”,itemstruct(150,”kunming”);mymap.insert(make_pair(“abcdef”,itemstruct(50,”xiamen”);map:iteratorit=mymap.begin();while(it!=mymap.end()if(it-second).a100)mymap.erase(it+);elseit+;it=mymap.begin();while(it!=mymap.end()coutfirst”second).a”second).bendl;it+;system(“PAUSE”);return0;解答3:for(map:iteratori=mymap.begin();i!=mymap.end();)if(i-second.a100)i=mymap.erase(i);else+i;解答4: VC6中编译map编译出错的解决方法Warnings similar to the following are generated even if you use the warning pragma to disable the warning: warning C4786: std:rb_treeCAiSpanningTreeState,std:less:TransClosureNode, CAiSpanningTreeState,std:less:TransClosureNode,std:identCai SpanningTreeState,std:less:TransClosureNode,CAiSpanningTreeS tate,std:less:TransClosureNode,std:lessCAiSpanningTreeStat e,std:less:TransClosureN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络通信java面试题及答案
- 消化内科面试题库及答案
- 2026届陕西省渭南市潼关县高一化学第一学期期末质量检测试题含解析
- 大专阿语考试题及答案
- 校车安全操作培训内容
- 浙江初会考试试题及答案
- 家电公司拓展训练组织规定
- 2026届山东省昌邑市文山中学化学高二第一学期期末学业水平测试试题含答案
- 保安理论知识培训总结课件
- 保安理论培训知识课件
- 粤沪版物理九年级上册第十二章第1节《认识内能》同步练习
- 《血管活性药物静脉输注护理》团体标准解读
- 水土保持方案投标文件技术部分
- 行政管理内控制度模版(3篇)
- GB/T 3324-2024木家具通用技术条件
- 老挝劳务合同范例
- 空白+彩色世界区域地理填图
- 小红书食用农产品承诺书示例
- 完整退役军人安置条例课件
- 2024年全国寄生虫病防治技能竞赛备赛试题库-下(包虫病、其它寄生虫病)
- 2024青岛版数学一上第一单元教学设计:快乐课堂第一课时(1-5数的认识)
评论
0/150
提交评论