1.map基本概念
简介:
1.map中所有元素都是pair
2.pair中第一个元素为key (键值),起到索引作用,第二个元素为value (实值)。
3.所有元素都会根据元素的键值自动排序
本质:
map/multimap属于关联式容器,底层结构是用二叉树实现
优点:
可以根据key值快速找到value值
map和multimap区别:
map不允许容器中有重复key值元素
multimap允许容器中有重复key值元素
2.map构造和赋值
功能描述:
* 对map容器进行构造和赋值操作
函数原型:
构造:
1.map<T1,T2> mp; //map默认构造函数:
2. map(const map &mp);//拷贝构造函数
赋值:
map& operator=(const map &mp);//重载等号操作符
//map容器 构造和赋值
//创建map容器
map<int, int>m;//对组的创建方式:直接写pair<>
m.insert(pair<int, int>(1, 10));
//这里的pair<int, int>(1, 10)相当于一个匿名对组.然后放到容器中
//拷贝构造函数
map<int, int>m2(m);
//赋值构造
map<int, int>m3;
总结:map中所有元素都是成对出现,插入数据的时候要使用对组
first是获取第一个值,也就是key
second是获取第二个值,也就是value
3.map大小和交换
功能描述:
统计map容器大小以及交换map容器
函数原型:
1.size(); //返回容器中元素的数目
2.empty(); //判断容器是否为空
3.swap(st);//交换两个集合容器
map<int, int>m;
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
//判断
if (m.empty())
{}
m.max_size()
//容器可以容纳的最大元素数。
//交换
m.swap(m2);
仅个人看视频笔记与理解,如有误可指出谢谢