C++——STL中三种顺序容器的简要差别「建议收藏」

C++——STL中三种顺序容器的简要差别

大家好,又见面了,我是全栈君。

C++ STL 提供了3个顺序容器 :vector, deque, list

Vector动态数组。支持高速訪问;list双向链表,支持高速插入和删除。

vector 中的元素是顺序存放的。所以随机訪问非常快,可是要插入和删除,这个时间复杂度就非常高了,vector初始化时有一个capacity,假设元素个数超出capacity,那vector就会又一次分配一个新的空间。并把旧值拷贝到新的空间中,释法原空间,这个也要耗费非常多时间,所以假设你知道元素的最大值,最好用reserve()函数初始最大空间,避免又一次分配空间造成的时间。

Deque是双端队列,差点儿全部的操作都和vector一样,出了能够在头加入和删除,多了个push_front(), pop_front()。仅仅有Vector和Deque有下标操作符,list没有。

list 是双链表,元素在内存中是分散的不连续的,它使用指针left,right,指向前一个元素和后一个元素。

所以要删除和加入仅仅要动动指针。所以非常快。可是由于是不连续的所以要訪问一个元素,你仅仅能遍历序列。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116565.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月19日 下午5:00
下一篇 2022年1月19日 下午5:00


相关推荐

  • 电平转换芯片_电平转换芯片无方向

    电平转换芯片_电平转换芯片无方向电平转换芯片**在混合信号系统中,经常能看到电瓶转换电路,目前市面上应用较多的处理器都是采用3.3V电源供电,但是产品外围器件多数都采用5伏电源供电,这种情况下就必须使用转换电路。目前应用比较多的两类电平转换电路是用MOS管搭建的电平转换电路,和用电平转换芯片实现的电路。为了降低产品的功耗,通常都采用低工作电压值的高速逻辑器件,这也进一步导致了产品内部同时存在多种电压,因此搭建稳定可靠的电平转换电路,尤为重要。如要求低成本,可以用MOSFET管自己搭建一个电平转换电路。用MOSFET管搭建电平转换电

    2022年8月10日
    8
  • 怎么解决pycharm license Activate?

    怎么解决pycharm license Activate?最近在一直学习 pythonDjango 开发 安装了好久的 pycharm 打不开了 显示如下

    2026年3月19日
    2
  • 解决IDEA和PyCharm在激活时出现 key is invalid的问题。

    解决IDEA和PyCharm在激活时出现 key is invalid的问题。问题情况描述 当使用激活成功教程补丁激活最新版本的 IDEA 和 PyCharm 时 复制补丁到指定目录和更改文件的过程都已完成 在使用激活码激活时出现 keyisinvalid 错误 注意 最新版本此解决办法已失效 新的解决方法可以参考下面链接 亲测有效 2019 6 15 https blog csdn net article details 解决办

    2026年3月27日
    2
  • ifndef/define/endif使用详解

    ifndef/define/endif使用详解想必很多人都看过 头文件中的 nbsp ifndef define endif nbsp 防止该头文件被重复引用 但是是否能理解 被重复引用 是什么意思 是不能在不同的两个文件中使用 include 来包含这个头文件吗 如果头文件被重复引用了 会产生什么后果 是不是所有的头文件中都要加入 ifndef define endif nbsp 这些代码 nbsp nbsp 其实 被重复引用 是指一个头文件在同一个 cpp 文件中

    2026年3月26日
    2
  • 用导数的定义求指数函数的导数_对数函数导数的推导

    用导数的定义求指数函数的导数_对数函数导数的推导指数函数的性质  先来复习一下中学的课程:指数函数的导数  对f(x)=ax求导:  ax右侧的那个极限似乎没有办法继续简化了,如果这个极限看作关于a的函数(之所以将极限看作关于a的函数,是因为在这个极限中,a是未知的,Δx是已知的):  函数在某一点导数的几何意义是该点处切线的斜率,所以M(a)也就是ax在x=0处切线的斜率。  如果y=2x,…

    2025年8月5日
    5
  • git撤销本地修改与回退版本「建议收藏」

    git撤销本地修改与回退版本

    2022年2月13日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号