转载至:https://blog.csdn.net/qq_28584889/article/details/88763090

vector :底层数据结构为数组,支持快速随机访问

list:底层数据结构为双向链表,支持快速增删

deque:底层数据结构为一个中央控制器和多个缓冲区,支持首尾快速增删,也支持随机访问   

deque是一个双端队列(double-ended queue),也是在堆中保存内容的,它的保存形式如下:
[堆1]-->[堆2]-->[堆3]-->...
每个堆保存好几个元素,然后堆和堆之间有指针指向,看起来像是list和vector的结合品

stack:底层一般用list或deque实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时

queue:底层一般用list或deque实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时

(stack和queue其实是适配器,而不叫容器,因为是对容器的再封装)

priority_queue:底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现。(所有容器中就priority_queue使用greater<int>()表示第一个元素最小的,小根堆)

set:底层数据结构为红黑树,有序,不可重复

multiset:底层数据结构为红黑树,有序,可重复

map:底层数据结构为红黑树,有序,不可重复

multimap:底层数据结构红黑树,有序,可重复

unorder_set:底层数据结构hash表,无序,不重复

unorder_multiset:底层数据结构为hash表,无序,可重复

unorder_map:底层数据结构为hash表,无序,不可重复

unorder_multimap:底层数据结构为hash表,无序,可重复

最新文章

  1. 解决EasyUI动态添加标签渲染问题
  2. How to Install JAVA 8 (JDK/JRE 8u111) on Debian 8 &amp; 7 via PPA
  3. 智者当借力而行, 借助Autodesk应用程序商店实现名利双收
  4. 【MyEcplise hibernate tools】hibernate tools的使用以及错误
  5. UML用例图(转载)
  6. Linux安装Weblogic9.2
  7. Android反编译APK
  8. AngularJs打造一个简易权限系统
  9. 获取radio的值
  10. 使用opencv实现自定义卷积
  11. unix命令自我总结
  12. Android Studio开发环境配置以及相关说明
  13. Python内置函数(39)——locals
  14. 一、Java和JavaScript
  15. NPOI 上传Excel功能
  16. linux系统下键盘按键的重新映射——xmodmap工具和xev工具
  17. Mybatis-PageHelper分页插件
  18. html-图像标签
  19. 基于jQuery悬停弹出遮罩显示按钮代码
  20. 20154312曾林 - Exp1 PC平台逆向破解

热门文章

  1. 用Stegsolve工具解图片隐写的问题
  2. bi工具是什么,如何选择?
  3. 基于Redis分布式BitMap的应用
  4. 矩池云上编译安装dlib库
  5. C语言之判断质数算法
  6. BUG | ValueError: Shape mismatch: The shape of labels (received (320,)) should equal the shape of logits except for the last dimension (received (64, 5)).
  7. JVM内存模型及GC机制
  8. 网络标准之:IANA定义的传输编码
  9. nginx lua模块常用的指令
  10. php 23种设计模型 - 代理模式