C++ STL标准模板库的总结学习。文章中对于map/multimap常见api使用进行解释说明,其中和set使用一致的部分不加过多实例说明,重点关注数据插入的部分。
复习时间:2021-07-30
- map 和unordermap的区别
- 一些基本的特性 比如键唯一 值不唯一 元素按照键排序
- 几种插入方式 最简单肯定是【】 正常的是 insert(make_pair)
- find 和 count的区别 find找到返回对应的迭代器(指向要找的元素)找不到返回end。count找到为1 找不到为0
- 自定义排序
map基本概念及其特性
- map相对于set区别,map具有键值和实值,所有的元素根据键值自动排序。
- pair的第一个元素称为键值,第二个值称为实值。
- map也是以红黑树为底层实现机制。
- multimap和map的操作类似,唯一区别multimap键值可重复。
- map不能通过迭代器修改map的键值,键值关系到容器元素的排序规则,任意改变键值会破坏排序规则,但是可以改变实值。
map构造函数
# include<map>
using namespace std;
map<int, int> m; //默认构造
map<int, int> m1(m);//拷贝构造
map插入数据元素操作(重点)
四种插入方式,其中第二种最为常用。
但是最特别的是第四种
【】插入方式,当发现key不存在,创建pair插入到map容器中,如果发现key存在,那么会修改key对应的value。这是其他几种方式所不能的。
map<int, int> m; //默认构造
//插入数据
//方式一 匿名函数 对组
m