39vector, deque, list之间的对比
vector, deque, list之间的对比
-
vector的特点:
- 动态数组
- 内存是完全连续的
- 扩容:2倍形式扩容,扩容时要开辟新的内存空间,并将数据拷贝
-
list的特点:
- 双向循环链表
- 内存是不连续的
- 没有扩容需求
-
deque的特点:
- 参考
- 动态开辟的二维数组空间
- 内存分段连续
- 第二维是固定长度的数组空间,扩容的时候第一维2倍扩容
-
vector和deque的区别
- 底层数据结构不同
- 前面插入元素的复杂度:vector为O(n),deque为O(1)
- 中间插入元素的复杂度:均为O(n)
- 最后插入元素的复杂度:均为O(1)
- 内存的使用效率:vector要求内存空间必须是连续的,deque可以分块数据存储,不必内存连续,使用效率更高。
- 对中间进行insert或者erase,vector的效率相对更好些,因为其底层内存连续。
-
vector和list的区别
- 底层数据结构不同
- vector适合随机访问
- list适合增删
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)