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适合增删
posted @   二氧化硅21  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示