C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——插入(精简易懂版,句句干货)
文中将测试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容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——插入(精简易懂版,句句干货)相关推荐
- C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——遍历和查找(精简易懂版,句句干货)
遍历 从前往后 性能最差的是map.multimap.set和multiset这两簇. 其他容器性能差距不大. 从后往前 支持从后向前遍历的容器并不多,只有:vector.deque.list.set ...
- C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——删除(精简易懂版,句句干货)
删除 头部删除 vector性能是最差的 ,set和map的性能次之. deque和forward_list性能是最优的.(差距不是十分明显) 中间删除 vector的性能最差, 效率最好的是list ...
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除
相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(Windows VirtualStudio)--插入>已给出.本文将分析各个容器中遍历和查找的性能.(转载请 ...
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除
相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(Windows VirtualStudio)--插入>已给出.本文将分析从头部.中间和尾部对各个容器进行删除 ...
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找
相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(ubuntu g++)--插入>已给出.本文将分析各个容器中遍历和查找的性能.(转载请指明出于breakso ...
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除
相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(ubuntu g++)--插入>已给出.本文将分析从头部.中间和尾部对各个容器进行删除的性能.(转载请指明出 ...
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入
操作系统是Windows10 64bit,编译器是 Microsoft Virtual Studio Community 10.编译产出是64位测试程序.(转载请指明出于breaksoftware的c ...
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入
操作系统是ubuntu 18.04.1 server amd64,gcc是 7.3.0.编译产出是64位测试程序.(转载请指明出于breaksoftware的csdn博客) 因为加入测量,就会导致误差 ...
- C++常用STL容器
C++常用STL容器 vector 向量容器 二维数组指针.二维向量 pair 对 list 双向列表 map 表 unordered_map 哈希表 set 集合 unordered_set 哈希集 ...
最新文章
- 关于Blocking IO, Non-Blocking IO 和 Asynchronous I/O的理解
- 腾讯 JDK 11 正式开源,高性能、太牛逼啦!
- Python编程基础:第二十九节 异常Exception
- Android 友盟分享躺过的几个坑,大坑,坑爹啊
- sql server 群集_部署SQL Server以使用群集共享卷进行故障转移群集–第1部分
- Python Imaging Library: ImageEnhance Module(图像增强模块)
- 搞科研身体才是革命的本钱。
- 读者写者问题 设置有限的读者_操作系统基础16-读者写者问题
- SQLCODE 错误对照表
- MD5加密解密工具类
- 计算机图形学的边表教学ppt,计算机图形学(多边形的扫描转换).ppt
- java 字符表 chr3,ASCII码对应表chr(9)、chr(10)、chr(13)、chr(32)、chr(3...
- 网页只有在服务器上才能打开,为什么你的电脑只能上QQ,而打不开网页?我来告诉你...
- 图扑软件数字孪生汽车生产线,赋能智慧工厂科学运维
- iPhone开发Swift基础08 加密与安全
- 那些年,我们一起做过的 Java 课后练习题(51 - 55)
- 阿里云服务搭建微信小程序开发环境
- 一度智信:2021电商运营教程
- linux控制主机风扇转速,开发环境 - Linux下设置机箱上的风扇转速
- CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4
热门文章
- 微服务架构的终极模式?
- 新来的妹纸问我 AJAX 请求为什么不安全?没有回答出来。。。
- 面试官:String的最大长度是多少?
- TikTok测试三分钟视频、Reddit首次公布DAU、谷歌解雇人工智能领头人、年度最受欢迎应用|Decode the Week...
- 使用区分优先级的负载分流法确保Netflix的可靠性
- 日程解读 | LiveVideoStackCon 2020北京站日程官宣了!
- 【线上直播】ICASSP论文解读 | 智能语音交互技术
- 2019年的第三场LiveVideoStackCon有何不同?
- DeepFocus,基于AI实现更逼真的VR图像
- Aupera:FPGA让视频编码与AI结合水到渠成