当前位置:首页>招商展会 >展会资讯>正文

C++ Map 容器篇

2024-03-03 责任编辑:未填 浏览数:6 恩都医药招商网

核心提示://容器的遍历for(mapint,string::iteratorit=()。//容器的遍历for(mapint,string::iteratorit=()。//办法2pairmapint,string::iterator,boolmypair=(make_pair(3,"teacher04"))。//办法3pairmapint,string::iterator,boolmypair=(pairint,string::value_type(6,"teacher06"))。//办法1pairmapint,

前语:

主要是讲了map容器根本操作,刺进和刺进成果的判别.查找和查找的反常处理.

反常处理非常重要!!!!

1.map是规范的关联性容器,一个map是一个键值对序列,也便是(key,value)对,它供给根据key的快速检索才能

2map中key是仅有的,调集中的元素按必定次序宣布,元素刺进历程是按次序规矩刺进,所以不能指定刺进方位.

3map的详细完成是选用红黑树变体的平衡二叉树的数据结构,在刺进操作和删去操作上比vector快

4map能够直接存取key所对应的value,支撑[]操作符

5map支撑仅有键值,每个键只能呈现一次;

6multimap的相同键能够呈现屡次

容器的共通才能

除了queue与stack以外,每个容器都供给可回来迭代器的函数,运用回来的迭代器就能够拜访元素

一般STL不会丢出反常,要求运用者保证传入正确的参数

每个容器都供给了一个默许结构函数跟一个默许复制结构函数

include"map"//根底操作,增修改查voidmain11(){//添加mapint,stringmapl;//办法1(pairint,string(1,"teacher01"));(pairint,string(2,"teacher02"));//办法2(make_pair(3,"teacher04"));(make_pair(4,"teacher05"));//办法3(pairint,string::value_type(6,"teacher06"));(pairint,string::value_type(7,"teacher07"));//办法4mapl[8]="teacher08";mapl[9]="teacher09";//容器的遍历for(mapint,string::iteratorit=();it!=();it++){coutit-first"t"it-secondl;}cout"遍历完结"l;//容器的删去while(!()){mapint,string::iteratorit=();coutit-first"t"it-secondl;(it);}}//刺进的四种办法异同//前三种办法回来的是一个pairiterator,bool,能够经过追寻源码的办法完成//若key现已存在则报错//数组办法:若key现已存在则掩盖voidmain22(){mapint,stringmapl;//办法1pairmapint,string::iterator,boolmypair=(pairint,string(1,"teacher01"));(pairint,string(2,"teacher02"));//办法2pairmapint,string::iterator,boolmypair=(make_pair(3,"teacher04"));(make_pair(4,"teacher05"));//办法3pairmapint,string::iterator,boolmypair=(pairint,string::value_type(6,"teacher06"));if(==true){cout"key5刺进"l;}else{;l;};//办法4mapl[8]="teacher08";mapl[9]="teacher09";//容器的遍历for(mapint,string::iteratorit=();it!=();it++){coutit-first"t"it-secondl;}cout"遍历完结"l;//容器的删去while(!()){mapint,string::iteratorit=();coutit-first"t"it-secondl;(it);}//map的查找和反常处理mapint,string::iteratorit2=(100);if(it2==()){cout"key的值不存在"l;}else{coutit2-first"t"it2-secondl;}//equal_range(5);//反常处理pairmapint,string::iterator,mapint,string::iteratormypair=_range(5);//回来2个迭代器,行成一个pair//第一个迭代器=5的方位//第一个迭代器=5的方位if(=()){cout"第一个迭代器=5的方位不存在"l;}else{"t";}//运用第2个迭代器if(=()){cout"第二个迭代器5的方位不存在"l;}else{"t";}voidmain(){main11();//main22();//main33();//main44();cout"hello"l;system("pause");return;}
流动餐车 酒店流动宴席餐饮车
阅读上文 >> 中国"三品一标"农产品超过8万 专家教你选购
阅读下文 >> 初中男生隐藏父母打耳洞导致感染丙肝,细节“初中男生”“父母”“打耳洞”“感染”“丙肝

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:http://www.educationplus.cn/zszh/44247.html

转载本站原创文章请注明来源:恩都医药招商网

推荐新闻

更多

友情链接