有序的都不带unordered,即如下:

set multiset map multimap

其中带multi的表示关键字可以重复

无序的带unordered,如下:

unordered_map

unordered_set

unordered_multimap

unordered_multiset

map系有KEY和VALUE,set系只有KEY没有VALUE

4个有序容器的KEY必须重载<号,不然无法比较,内部实现为红黑树

4个无序容器的KEY必须重载==号和HASH函数,内部实现为哈希表

所有8个关联容器都有迭代器begin()、end()

set系的迭代器不能更改KEY,map的迭代器也不能改KEY,但可以改VALUE

map:

key_type:KEY类型

mapped_type:VALUE类型

values_type:pair类型【pair(key,value)类型】

set:

key_type和value_type类型是一样的,没有mapped_type类型

插入元素:

.insert()
.emplace()
map[x]=y;

删除元素:

.erase(VAL)		删除所有值为VAL的项,返回删除的元素个数
.erase(p) 删除p迭代器 返回p后面一个迭代器
.erase(b,e) 删除迭代器b到e的元素(不含e)返回e

查找元素:

非multi(单关键字):
	.find(VAL)	返回迭代器,找不到返回.end()
.count(VAL) 返回出现次数
multi(多关键字):
	.find(VAL)返回第一个找到的迭代器
有序容器:
.lower_bound(K) 返回第一个KEY不小于K的迭代器
.upper_bound(K) 返回第一个KEY大于K的迭代器
无序容器只能用下面的这个(因为lower,upper显然对无序容器无意义),当然有序容器也能用下面的equal_range。
equal_range(K) 返回一个pair,其中包含两个迭代器,指明等于KEY等于K的范围

最新文章

  1. Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)
  2. js中的DOM事件与对象
  3. 002-添加网站ico图标
  4. Add a Syscall
  5. C#正则提取html图片等
  6. c# windows编程控件学习-2
  7. global.asax、global.asax.compiled、PrecompiledApp.config三者关系
  8. Ruby求出数组中最小值及其下标
  9. 帝国cms无法注册登录快速解决方法 附路径
  10. python中隐式的内存共享
  11. windows下 berkerly db的安装配置(修正了关键步骤)
  12. jquery-ui 中treegird 逐步加载
  13. PHP函数:PHP_SELF
  14. chrome、safari中的input或textarea
  15. mysql__存储过程
  16. Python-Cpython解释器支持的进程与线程-Day9
  17. 广州商学院16级软工一班&amp;二班-第二次作业成绩
  18. OpenCV-Python 中文教程(搬运)目录
  19. 四、springboot(一)入门
  20. [android] fragment的生命周期和通讯

热门文章

  1. 常用的一些git命令整合
  2. DirectX11--HLSL语法入门
  3. Longest Ordered Subsequence POJ - 2533 dp 最长上升/不下降 子序列
  4. Java8之Stream详解
  5. 01-SV入门及仿真环境搭建
  6. Ubutu安装oracle jdk1.8
  7. 开放系统互联(OSI)模型
  8. CriteriaBuilder jpa 日期date查询
  9. 解决PHP Redis扩展无法加载的问题
  10. 比较一下数据结构的链表和linux i2c驱动难度比较