STL:map与multimap
2018-04-04 01:11
281 查看
关联容器
map:映射
multimap:多重映射
底层存储结构:红黑树(自平衡的二叉查找树)所以map内部数据都是有序的。默认是通过key值进行排序。默认遍历方式是中序遍历。
map的构造和初始化:
map<int,string> mapStudent;
map的数据插入:
1、insert插入:mapStudent.insert(pair<int,string>(1,"zhanglei"));
2、通过下标直接赋值: mapStudent[2] = "hanmeimei";
以上两种方式,当map中key重复时,第一种方式会无法插入,第二种方式会覆盖之前的值。
map的遍历:迭代器
map的大小: mapStudent.size();
map的查找:
mapStudent.find(1);返回值是一个迭代器,指向要找的元素。否则返回end();
map的清空:
mapStudent.clear();
map的删除:
mapStudent.erase(iter); 通过迭代器删除
mapStudent.erase(1); 通过key删除
mapStudent.erase(mapStudent.begin() , mapStudent.end()):通过范围删除
erase的返回值为void,不会返回下个元素的迭代器,所以在遍历删除中需要使用自增运算,指向下个元素以后再执行删除操作。
遍历删除的用法:
for(map<int,int>::iterator it = mapInt.begin(); it != mapInt.end();)
{
if(it->second == 0) {
mapInt.erase(it++); }
else {
it++;
}}
map:映射
multimap:多重映射
底层存储结构:红黑树(自平衡的二叉查找树)所以map内部数据都是有序的。默认是通过key值进行排序。默认遍历方式是中序遍历。
map的构造和初始化:
map<int,string> mapStudent;
map的数据插入:
1、insert插入:mapStudent.insert(pair<int,string>(1,"zhanglei"));
2、通过下标直接赋值: mapStudent[2] = "hanmeimei";
以上两种方式,当map中key重复时,第一种方式会无法插入,第二种方式会覆盖之前的值。
map的遍历:迭代器
map的大小: mapStudent.size();
map的查找:
mapStudent.find(1);返回值是一个迭代器,指向要找的元素。否则返回end();
map的清空:
mapStudent.clear();
map的删除:
mapStudent.erase(iter); 通过迭代器删除
mapStudent.erase(1); 通过key删除
mapStudent.erase(mapStudent.begin() , mapStudent.end()):通过范围删除
erase的返回值为void,不会返回下个元素的迭代器,所以在遍历删除中需要使用自增运算,指向下个元素以后再执行删除操作。
遍历删除的用法:
for(map<int,int>::iterator it = mapInt.begin(); it != mapInt.end();)
{
if(it->second == 0) {
mapInt.erase(it++); }
else {
it++;
}}
相关文章推荐
- C++ STL一一map和multimap
- STL总结之set/multiset和map/multimap
- STL容器-关联式容器map/multimap
- STL 笔记(二) 关联容器 map、set、multimap 和 multimap
- STL之map&multimap使用简介
- STL概览-关联容器set,multiset,map,multimap
- STL之映射map&multimap
- STL之map和multimap容器
- STL模板总结归纳(set,multiset和map,multimap)
- STL常用容器用法之——Map和multimap
- STL之map/multimap
- STL之map&multimap容器(笔记)
- STL学习笔记5--map and multimap
- STL set multiset map multimap unordered_set unordered_map example
- STL容器之map/multimap
- stl之map、multimap
- STL学习笔记----6.容器 map 和 multimap
- STL-------map与multimap
- STL学习(一)map容器学习(三)-multimap
- STL之关联容器(set /map /multiset /multimap)