文中将测试vector、list、forward_list、deque、set(multiset)、unordered_set(unordered_multiset)、map(multimap)和unordered_map(unordered_multimap)。没有讨论stack、queue和priority_queue,是因为它们底层是使用deque或者vector实现的。

增加和删除操作将从容器的头部、中部、尾部三个位置进行对比
遍历分为从头部和尾部两个方向遍历;
查找操作只对比set和map系列容器。因为其他容器的查找都需要遍历进行对比,性能远不及这两类容器。

插入

头部插入


deque的性能是最好的,其次是unordered_set(神一般的存在)。

当元素个数比较多时,vector的性能是最差的。

中间插入


vector容器性能是最差的。
forward_list和list的性能是最好的。然后是deque和set。

尾部插入


vector性能是最好的,其次是deque。

map性能是最差的。

结论:

在尾部插入时,vector的性能是最好的
deque在头部和尾部插入元素场景下性能优异。

list和forward_list在中间插入元素场景下性能优异。

C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——插入(精简易懂版,句句干货)相关推荐

  1. C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——遍历和查找(精简易懂版,句句干货)

    遍历 从前往后 性能最差的是map.multimap.set和multiset这两簇. 其他容器性能差距不大. 从后往前 支持从后向前遍历的容器并不多,只有:vector.deque.list.set ...

  2. C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——删除(精简易懂版,句句干货)

    删除 头部删除 vector性能是最差的 ,set和map的性能次之. deque和forward_list性能是最优的.(差距不是十分明显) 中间删除 vector的性能最差, 效率最好的是list ...

  3. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(Windows VirtualStudio)--插入>已给出.本文将分析各个容器中遍历和查找的性能.(转载请 ...

  4. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(Windows VirtualStudio)--插入>已给出.本文将分析从头部.中间和尾部对各个容器进行删除 ...

  5. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(ubuntu g++)--插入>已给出.本文将分析各个容器中遍历和查找的性能.(转载请指明出于breakso ...

  6. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(ubuntu g++)--插入>已给出.本文将分析从头部.中间和尾部对各个容器进行删除的性能.(转载请指明出 ...

  7. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入

    操作系统是Windows10 64bit,编译器是 Microsoft Virtual Studio Community 10.编译产出是64位测试程序.(转载请指明出于breaksoftware的c ...

  8. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入

    操作系统是ubuntu 18.04.1 server amd64,gcc是 7.3.0.编译产出是64位测试程序.(转载请指明出于breaksoftware的csdn博客) 因为加入测量,就会导致误差 ...

  9. C++常用STL容器

    C++常用STL容器 vector 向量容器 二维数组指针.二维向量 pair 对 list 双向列表 map 表 unordered_map 哈希表 set 集合 unordered_set 哈希集 ...

最新文章

  1. 关于Blocking IO, Non-Blocking IO 和 Asynchronous I/O的理解
  2. 腾讯 JDK 11 正式开源,高性能、太牛逼啦!
  3. Python编程基础:第二十九节 异常Exception
  4. Android 友盟分享躺过的几个坑,大坑,坑爹啊
  5. sql server 群集_部署SQL Server以使用群集共享卷进行故障转移群集–第1部分
  6. Python Imaging Library: ImageEnhance Module(图像增强模块)
  7. 搞科研身体才是革命的本钱。
  8. 读者写者问题 设置有限的读者_操作系统基础16-读者写者问题
  9. SQLCODE 错误对照表
  10. MD5加密解密工具类
  11. 计算机图形学的边表教学ppt,计算机图形学(多边形的扫描转换).ppt
  12. java 字符表 chr3,ASCII码对应表chr(9)、chr(10)、chr(13)、chr(32)、chr(3...
  13. 网页只有在服务器上才能打开,为什么你的电脑只能上QQ,而打不开网页?我来告诉你...
  14. 图扑软件数字孪生汽车生产线,赋能智慧工厂科学运维
  15. iPhone开发Swift基础08 加密与安全
  16. 那些年,我们一起做过的 Java 课后练习题(51 - 55)
  17. 阿里云服务搭建微信小程序开发环境
  18. 一度智信:2021电商运营教程
  19. linux控制主机风扇转速,开发环境 - Linux下设置机箱上的风扇转速
  20. CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4

热门文章

  1. 微服务架构的终极模式?
  2. 新来的妹纸问我 AJAX 请求为什么不安全?没有回答出来。。。
  3. 面试官:String的最大长度是多少?
  4. TikTok测试三分钟视频、Reddit首次公布DAU、谷歌解雇人工智能领头人、年度最受欢迎应用|Decode the Week...
  5. 使用区分优先级的负载分流法确保Netflix的可靠性
  6. 日程解读 | LiveVideoStackCon 2020北京站日程官宣了!
  7. 【线上直播】ICASSP论文解读 | 智能语音交互技术
  8. 2019年的第三场LiveVideoStackCon有何不同?
  9. DeepFocus,基于AI实现更逼真的VR图像
  10. Aupera:FPGA让视频编码与AI结合水到渠成