当前位置: 首页 > article >正文

C++ STL中常见的容器

文章目录

  • 概要
  • 顺序容器
  • 关联容器
  • 无序关联容器
  • 参考

概要

C++ 标准库(STL,Standard Template Library)提供了多种容器,每种容器都有其特定的用途和特点。以下是一些常用的 STL 容器及其简要说明。

顺序容器

  • std::vector:

    • 动态数组,可以在尾部高效地添加和删除元素,支持随机访问。
    • 存储在连续的内存块中,具有较好的缓存局部性。
  • std::deque:

    • 双端队列,允许在两端高效地插入和删除元素。
    • 内部实现为多个块,适合需要频繁在两端操作的场景。
  • std::list:

    • 双向链表,允许在任意位置高效地插入和删除元素。
    • 不支持随机访问,适合频繁插入和删除操作。
  • std::forward_list:

    • 单向链表,与 std::list 类似,但只支持向前遍历。
    • 占用内存较少,适合只需要单向遍历的场景。
  • std::array:

    • 固定大小的数组,具有与原生数组相似的性能,但提供了 STL 的接口和功能。
    • 大小在编译时确定,不支持动态扩展。

关联容器

  • std::set:

    • 存储唯一元素的集合,元素按特定顺序排列(通常是升序)。
    • 支持快速查找、插入和删除操作(O(log n))。
  • std::multiset:

    • 类似于 set,但允许存储重复元素。
    • 也支持按顺序排列元素。
  • std::map:

    • 存储键值对,键是唯一的,按键的顺序排列。
    • 支持快速查找和插入(O(log n)),适合需要键值关联的场景。
  • std::multimap:

    • 类似于 map,但允许键重复。
    • 适合需求中键可能重复的情况。

无序关联容器

  • std::unordered_set:

    • 存储唯一元素的集合,元素无序存储。
    • 基于哈希表实现,查找、插入和删除操作平均时间复杂度为 O(1)。
  • std::unordered_multiset:

    • 类似于 unordered_set,但允许存储重复元素。
  • std::unordered_map:

    • 存储键值对,键是唯一的,元素无序存储。
    • 基于哈希表实现,支持平均 O(1) 的查找、插入和删除操作。
  • std::unordered_multimap:

    • 类似于 unordered_map,但允许键重复。

参考

https://www.runoob.com/cplusplus/cpp-libs-deque.html


http://www.kler.cn/a/401774.html

相关文章:

  • 机器翻译-基础与模型
  • 麒麟时间同步搭建chrony服务器
  • Excel数据动态获取与映射
  • 【WPF】Prism学习(七)
  • Qt的一个基本用户登录界面编写|| 从0搭建QT的信号与槽的应用案例 ||Qt样式表的应用
  • k8s上部署redis高可用集群
  • 面向FWA市场!移远通信高性能5G-A模组RG650V-NA通过北美两大重要运营商认证
  • CSS基础选择器与div布局
  • 社群在 2+1 链动模式 S2B2C 商城小程序社交新零售运营中的价值与应用
  • 【Go实战】:使用AES和RSA加密算法保护关键信息
  • 独立资源池:虚拟化技术如何帮助企业在经济危机中降低成本?
  • 我们来学mysql -- EXPLAIN之type(原理篇)
  • Swift 数组
  • 安装 Ubuntu 桌面系统
  • [论文阅读] 异常检测 Deep Learning for Anomaly Detection: A Review(三)总结梳理-疑点记录
  • iOS 键盘弹出视图精准上移
  • 深度解析FastDFS:构建高效分布式文件存储的实战指南(下)
  • qiankun主应用(vue2+element-ui)子应用(vue3+element-plus)不同版本element框架css样式相互影响的问题
  • Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)
  • MySQL系统优化
  • 芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号)
  • css iframe标签使用
  • LeetCode - #138 随机链表的复制
  • 多品牌摄像机视频平台EasyCVR视频融合平台+应急布控球:打造城市安全监控新体系
  • 服务器产品
  • 最小生成树应用北极通讯网络