STL之容器比较
STL 标准容器优劣简述C11 及以后工程选型速查先划分大类顺序容器vector、deque、list、forward_list、array关联容器set/multiset、map/multimap红黑树有序无序关联容器unordered_set、unordered_map哈希表一、顺序容器1. std::vector动态连续数组✅优点内存连续随机访问 O (1)缓存友好遍历速度最快API 简单支持尾插尾删摊销 O (1)。 ❌缺点中间插入 / 删除O(n)需要挪动大量元素容量满时触发扩容产生内存重分配、迭代器失效不支持头部高效插入删除。 适用绝大多数场景优先默认选择。2. std::deque双端队列分段连续内存✅优点头部、尾部插入删除均为摊销 O (1)支持随机访问 O (1)比 vector 略慢扩容不需要拷贝全部元素迭代器失效范围更小。 ❌缺点内存分段缓存局部性差遍历慢于 vector中间插入删除依然 O (n)。 适用需要频繁头尾增删又偶尔随机访问。3. std::list双向链表✅优点任意位置插入 / 删除 O (1)前提已有迭代器不会发生内存重分配插入不使其他迭代器失效。 ❌缺点无随机访问只能顺序遍历每个节点额外存储前后指针内存开销大内存碎片化缓存极差遍历很慢。 适用频繁中间增删、极少遍历查找现代工程很少用。4. std::forward_list单向链表✅优点比 list 内存开销更小只有后继指针。 ❌缺点仅单向遍历不支持反向迭代不能获取 size ()。 适用内存极度受限场景。5. std::array静态数组栈 / 静态内存✅优点栈分配、无堆开销、随机访问 O (1)、内存连续。 ❌缺点容量编译期固定不能动态扩容。 适用长度已知的小型固定数组。二、有序关联容器红黑树实现set/map/multiset/multimapstd::set / std::map✅优点自动有序查找、插入、删除O(log n)迭代遍历按排序顺序输出set 自动去重map 存储 key-valuekey 唯一。 ❌缺点节点分散缓存不友好O (log n) 复杂度慢于哈希表key 不可修改破坏有序结构multiset/multimap 允许重复键。 适用要求有序、需要范围查询lower_bound/upper_bound。三、无序关联容器哈希表 unordered_xxxunordered_set /unordered_map ✅优点平均查找、插入、删除 O (1)性能高于红黑树容器 ❌缺点元素无序不能范围查找存在哈希冲突最坏退化 O (n)哈希表扩容会 rehash迭代器失效需要类型提供哈希函数 适用只需要快速查找不要求排序。关键横向对比总结选型口诀需要随机访问、频繁遍历 →vector需要头尾快速增删、偶尔随机访问 →deque大量中间插入删除、很少遍历查找 →list谨慎固定大小数组 →array需要有序、范围查找、自动排序去重 →map / set只需要快速查找不要求顺序 →unordered_map / unordered_set高频踩坑补充vector 尽量 reserve 减少扩容list 不要用来做频繁查找查找必须遍历unordered 容器不要依赖遍历顺序map/unordered_map不要修改 key不要盲目用 list绝大多数场景 vector 性能碾压 list。

相关新闻

安全与合规为何成为IM选型首要指标

安全与合规为何成为IM选型首要指标

热点拆解:为什么“安全与合规”突然成为IM选型的首要指标近期,某头部券商因内部聊天记录留存不当被监管层出具警示函,这并非孤例。它折射出一个残酷现实:企业即时通讯(IM)系统已不再是单纯的办公工具&#…

2026/10/11 21:24:16 阅读更多 →
信创适配体系:私有化部署的即时通讯如何兼顾管控与易用

信创适配体系:私有化部署的即时通讯如何兼顾管控与易用

信创适配体系:私有化部署的即时通讯如何兼顾管控与易用 1. 高安全行业的私有化部署困局:管控与易用为何总是互斥在政企单位推进信创适配体系的进程中,私有化部署本应是解决数据安全焦虑的终极答案。然而现实往往走向另一个极端:系…

2026/10/11 21:24:47 阅读更多 →
AI正在颠覆前端?从代码补全到智能交互,未来前端工程师的进阶之路!

AI正在颠覆前端?从代码补全到智能交互,未来前端工程师的进阶之路!

随着AI工具如Codex、Cursor、GitHub Copilot等在前端开发中的应用日益广泛,引发了对前端职业前景的讨论。文章指出,AI并非前端开发的终结者,而是推动前端从重复性劳动向更高阶体验架构师角色转变的催化剂。AI在代码补全、设计转代码、智能交互…

2026/10/11 22:07:14 阅读更多 →

最新新闻

德思特 GNSS 模拟器技术参数详解:700+通道、1000Hz 迭代率、可模拟1200颗卫星的全星座仿真方案

德思特 GNSS 模拟器技术参数详解:700+通道、1000Hz 迭代率、可模拟1200颗卫星的全星座仿真方案

在高阶自动驾驶 HiL 闭环、低空无人系统及高动态 PNT(定位、导航、定时)测试中,传统户外路测往往受环境干扰大且场景难以 100% 复现。针对工程选型关注的核心参数与信号支持能力,德思特 GNSS 模拟器基于 Skydel 引擎与 SDA 软件定…

2026/10/11 22:52:37 阅读更多 →
vnpy量化实战:多因子选股+LightGBM动态仓位优化闭环

vnpy量化实战:多因子选股+LightGBM动态仓位优化闭环

简介:本资源是一套基于vn.py框架深度二次开发的量化投资实践项目,面向金融工程开发者、量化交易学习者及AI金融交叉领域从业者,解决选股自动化、策略回测工程化与机器学习模型集成等核心问题。压缩包共1656个文件,体量59.07MB&…

2026/10/11 22:52:37 阅读更多 →
vllm-metal 加载 GGUF 量化模型完整指南:Mac 本地部署 LLM 的省钱秘籍

vllm-metal 加载 GGUF 量化模型完整指南:Mac 本地部署 LLM 的省钱秘籍

【免费下载链接】vllm-metal Community maintained hardware plugin for vLLM on Apple Silicon 项目地址: https://gitcode.com/gh_mirrors/vl/vllm-metal 点击查看 免费下载 vllm-metal 是一个社区维护的硬件插件,让 vLLM 能够运行在 Apple Silicon&a…

2026/10/11 22:52:37 阅读更多 →
家电维修预约欧米到家|博世洗衣机维修预约|附近师傅上门检修|欧米到家报修热线

家电维修预约欧米到家|博世洗衣机维修预约|附近师傅上门检修|欧米到家报修热线

前言🌆 国内住宅业态丰富,各地老城老旧管网老化、水质杂质多,城市高层住宅水压波动频繁,全国大部分地区属于湿润气候,梅雨季、多雨季节潮湿多雨、空气湿度极高,冬夏温差大,差异化的居家工况让洗…

2026/10/11 22:52:37 阅读更多 →
构网型储能变流器参数整定:虚拟惯量、阻尼与下垂系数实战解析

构网型储能变流器参数整定:虚拟惯量、阻尼与下垂系数实战解析

最近在调试一个构网型储能样机,100kW 的柜子在离网工况下带 RLC 负载,光是 J 和 D 两个参数就调了两个晚上。功率波形要么像水面波纹一样持续荡漾,要么频率响应慢到让人怀疑控制器死机。后来我才意识到,构网型变流器能不能真正工程…

2026/10/11 22:52:37 阅读更多 →
MySQL子查询完全指南:分类、执行流程、性能优化与常见坑

MySQL子查询完全指南:分类、执行流程、性能优化与常见坑

子查询在MySQL里被很多人当成"会用但说不清"的技术点。SQL子查询用得好,能把复杂统计拆成清晰的嵌套逻辑;用不好,一条慢查询直接拖垮业务接口。这篇文章我把子查询从分类、执行流程到性能优化、报错排查完整过一遍,所有…

2026/10/11 22:51:36 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →