1.map简介
Map是c++的一个标准容器,她提供了很好的一对一的关系。map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器,可以修改实值,而不能修改key。
2.map的功能
自动建立Key-value的对应。key和value可以是任意你需要的类型。
根据Key值快速查找记录,查找的复杂度基本是Log(N)
快速插入Key-Value记录
快速删除记录
根据Key修改value
遍历所有记录
3.使用map
使用map得包含map类所在的头文件 #include
1.map最基本的构造函数:
map<string,int> mapstring; map<int,string>mapint;
map<string,char>mapstring; map<char,string>mapchar;
map<char,int>mapchar; map<int,char>mapint;
2.map添加数据:
map<int,string>maplive;
1.maplive.insert(pair<int,string>(102,“aclive”));
2.maplive.insert(map<int,string>::value_type(321,“hai”));
3.maplive[112]=“Apirl”;//map中最简单最常用的插入添加
3.map中元素的查找:
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
map<int,string>::iterator l_it;
l_it=maplive.find(112);
if(l_itmaplive.end())
cout<<“we do not find 112”<<endl;
else cout<<“wo find 112”<<endl;
4.map中元素的删除:
如果删除112;
map<int,string>::iterator l_it;
l_it=maplive.find(112);
if(l_itmaplive.end())
cout<<“we do not find 112”<<endl;
else maplive.erase(l_it);//delete 112;
5.map中swap的用法:
Map中的swap不是一个容器中的元素交换,而是两个容器交换;
6.map中的sort问题:
Map中的元素是自动按key升序排序,所以不能对map用sort函数