map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器),也就可以建立string型到 int 型的映射。
头文件:#include<map>
定义:map<typename1,typename2>mp;
map和其他STL容器在定义上有点不一样,因为map需要确定映射前类型(键key)和映射后类型(值value),所以需要在<>内填写两个类型(第一个是键的类型,第二个是值的类型)。如果是字符串到整型的映射,必须使用string而不能用char数组。
map容器内元素的访问:
(1)通过下标访问
![](https://img.haomeiwen.com/i25166568/8c4277094720a162.png)
(2)通过迭代器访问
map<typename1, typename2>::iterator it; 必须通过一个it来同时访问键和值。事实上,map可以使用it->first来访问键,使用it->second来访问值。
![](https://img.haomeiwen.com/i25166568/3b316a14694b4659.png)
map会以键从小到大的顺序自动排序,即按a<m<r 的顺序排列这三对映射。
(1)find()
(2)insert()
(3)erase()有两种用法: ①删除单个元素 ②删除一个区间内的所有元素
①erase(it)/ erase(key)
![](https://img.haomeiwen.com/i25166568/2bf3d2f7a44ae43a.png)
![](https://img.haomeiwen.com/i25166568/02c6c58d8855d041.png)
②略
(4)size()
(5)clear()
网友评论