一、容器
1、序列式容器:线性数据结构,包含vector、deque、list
(1)vector动态数组,可以从数组尾部快速插入或删除数据,直接访问任何元素
(2)deque双端队列,可以从头部、尾部快速插入或删除数据,直接访问任何元素
(3)双向链表,删除或插入任何位置的数据,但访问元素没有上两种直接方便
2、关联式容器:非线性数据结构(二叉树),插入元素:先通过键值找到位置,再将元素的实际值放进去
(1)set:快速查找符合条件的元素,但容器中不允许出现重复值
(2)multiset:突破set的限制
(3)map:一对一映射,基于键值快速查找符合条件的元素,在容器中不允许出现重复值
(4)multimap:突破map限制
3、容器适配器:容器间的转换接口,对象都是容器(可理解成容器的容器,或容器的模板)
(1)stack:栈结构
(2)queue:队列
(3)priority_queue:具有优先级的队列
4、容器的共性:10种必备成员函数
构造函数
析构函数
支持赋值运算符和比较运算符
交换函数:swap
删除函数:erase
清空函数:clear
查看当前容器使用容量函数:size
查看容器最大存储容量函数:max_size
检查容器是否为空函数:empty
二、序列式容器