C++中的容器
有序容器
对比表格
名称[] atpush_backpop_backpush_frontpop_frontunique 去重sort 排序reverse 颠倒
stack 栈×√√×××××queue 队列×√××√×××vector 向量√√√×××××deque 双向队列√√√√√×××list 列表×√√√√√√√
Stack 栈
LIFO 后进先出,使用场景固定,只对栈顶(top)进行访问和操作
queue 队列
FIFO 先进先出,使用场景固定,只插入队尾,只从队首取数据。
vector 向量
存储连续的数据,便于访问,不建议对元素进行操作。
deque 双向队列
存储连续的数据,便于访问,只在队列首尾进行元素操作。
list 列表
数据链表,不便于访问,对数据任何位置都便于操作,额外提供元素操作接口 注意:不能直接比较的元素优势不明显
关联容器
map
键值对,键值不可重复,键不可修改,值可修改,根据键值自动排序,可通过下标访问值。
set
只有键值,不可重复,不可修改,自动排序。