vector、list、deque区别

 我来答
机器1718
2022-07-30 · TA获得超过6867个赞
知道小有建树答主
回答量:2805
采纳率:99%
帮助的人:164万
展开全部

连续存储结构,每个元素在内存上是连续的;支持高效的 随机访问 和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下,可以动态扩充,但是扩充过程效率不高,所以可以通过函数控制扩充机制。

非连续存储结构,具有双链表结构,每个元素维护一对前向和后向指针,因此支持 前向/后向遍历 ,支持 高效的随机插入/删除 操作,但 随机访问效率低下

优点:
(1) 不使用连续内存完成动态操作。
(2) 在内部方便的进行插入和删除操作
(3) 可在两端进行push、pop
缺点:
(1) 不能进行内部的随机访问,即不支持[ ]操作符和vector.at()
(2) 相对于verctor占用内存多

连续存储结构,即其每个元素在内存上也是连续的,类似于vector,不同之处在于,deque提供了两级数组结构, 第一级完全类似于vector,代表实际容器;另一级维护容器的首位地址。这样,deque除了具有vector的所有功能外,还支持高效的 首/尾端插入/删除操作
deque 双端队列 double-end queue
deque是在功能上合并了vector和list
优点:
(1) 随机访问方便,即支持[ ]操作符和vector.at()
(2) 在内部方便的进行插入和删除操作
(3) 可在两端进行push、pop
缺点:占用内存多

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式