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