map介绍
map中所有元素都是pair键值对pair中第一个元素为key(键值),起索引作用,第二个元素为value(实值)- 所有元素会根据键值排序
- 跟vector一样会自动扩展
map/multimap属于关联式容器,底层结构用二叉(红黑)树实现
map构造与赋值
构造:
map<T1, T2>mp;//map默认构造map(const map& mp);//拷贝构造 赋值:map& operator=(const map& mp);
map大小和交换
size();empty();swap(mp);
map插入和删除
pair<set<T>::iterator, bool> insert(elem);clear();erase(pos);erase(beg, end);erase(key);
map查找和统计
find(key);count(key);
map修改排序规则
结构性增强for循环遍历map(since c++17)
for(const auto& [key, val]: mymap)
unordered_map
unordered_map容器封装了哈希表,查找,插入和删除元素时,只需要比较几次key值。
包含头文件
#include<unordered_map>
unordered_map