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

【C++ 所有STL容器简介】

【C++ 所有STL容器简介】

      • 1. `vector`
      • 2. `list`
      • 3. `deque`
      • 4. `set` / `multiset`
      • 5. `map` / `multimap`
      • 6. `unordered_set` / `unordered_multiset`
      • 7. `unordered_map` / `unordered_multimap`
      • 8. `stack`
      • 9. `queue`
      • 10. `priority_queue`

C++ 标准模板库(STL)提供了一系列常用的容器,用于存储和管理数据。以下是 C++ STL 中常用的容器及其简介:

1. vector

  • 简介:动态数组,支持高效的随机访问和在尾部插入删除操作。
  • 特点:连续内存存储、动态增长容量。
  • 常用操作push_back(), pop_back(), at(), size(), empty()等。

2. list

  • 简介:双向链表,支持高效的插入和删除操作。
  • 特点:非连续内存存储,所需空间相对更多,但插入删除更快。
  • 常用操作push_back(), push_front(), pop_back(), pop_front(), insert(), erase()等。

3. deque

  • 简介:双端队列,支持高效的在头尾插入删除操作。
  • 特点:双端操作效率高,支持随机访问。
  • 常用操作push_back(), push_front(), pop_back(), pop_front(), at(), size()等。

4. set / multiset

  • 简介:有序集合,set中元素唯一、multiset可重复。
  • 特点:基于红黑树实现,快速查找、插入、删除。
  • 常用操作insert(), find(), erase(), size(), empty()等。

5. map / multimap

  • 简介:有序键值对集合,map中键唯一、multimap可重复。
  • 特点:基于红黑树实现,快速按键查找、插入、删除。
  • 常用操作insert(), find(), erase(), size(), empty()等。

6. unordered_set / unordered_multiset

  • 简介:无序集合,unordered_set中元素唯一、unordered_multiset可重复。
  • 特点:基于哈希表实现,插入删除查找平均复杂度为 O(1)。
  • 常用操作insert(), find(), erase(), size(), empty()等。

7. unordered_map / unordered_multimap

  • 简介:无序键值对集合,unordered_map中键唯一、unordered_multimap可重复。
  • 特点:基于哈希表实现,插入删除查找平均复杂度为 O(1)。
  • 常用操作insert(), find(), erase(), size(), empty()等。

8. stack

  • 简介:堆栈,先进后出的容器适配器。
  • 特点:基于 dequelist 实现。
  • 常用操作push(), pop(), top(), empty(), size()等。

9. queue

  • 简介:队列,先进先出的容器适配器。
  • 特点:基于 dequelist 实现。
  • 常用操作push(), pop(), front(), back(), empty(), size()等。

10. priority_queue

  • 简介:优先队列,按照元素优先级顺序出队。
  • 特点:基于 vector 实现,默认最大堆。
  • 常用操作push(), pop(), top(), empty(), size()等。

这些是 C++ STL 中常用的容器,每种容器都有其适用的场景和特点。根据具体需求和性能要求,选择合适的容器能够提高程序效率和可维护性。

http://www.lryc.cn/news/343031.html

相关文章:

  • Django调用SECRET_KEY对数据进行加密
  • 芸众商城电商专业版400+插件源码+搭建教程
  • 【机器学习与实现】线性回归示例——波士顿房价分析
  • Redis核心数据结构——跳表(生成数据到文件和从文件中读取数据、模块合并、)
  • 微信小程序下载文件详解
  • 2024 概率论和数理统计/专业考试/本科考研/论文/重点公式考点汇总
  • 四川易点慧电子商务抖音小店:潜力无限的新零售风口
  • Seal^_^【送书活动第3期】——《Hadoop大数据分析技术》
  • win10下,svn上传.so文件失败
  • ubuntu20安装colmap
  • kubeflow简单记录
  • ARM的工作模式
  • 为家庭公网IP配置DDNS域名
  • QT-TCP通信
  • SparkSQL优化
  • STM32——基础篇
  • 【从零开始学架构 架构基础】架构设计的本质、历史背景和目的
  • Learning C# Programming with Unity 3D
  • 北京车展现场体验商汤DriveAGI自动驾驶大模型展现认知驱动新境界
  • 企业终端安全管理软件有哪些?终端安全管理软件哪个好?
  • Linux内核--设备驱动(七)媒体驱动框架整理--HDMI框架(2)
  • 3.3 Gateway之自定义过滤器
  • Skywalking数据持久化与自定义链路追踪
  • 设计模式之模板模式TemplatePattern(五)
  • 划重点!PMP报考条件、报考步骤、考试内容、适合人群
  • Java | Leetcode Java题解之第74题搜索二维矩阵
  • C#高级编程笔记-泛型
  • (超简单)SpringBoot中简单用工厂模式来实现
  • java中的条件、循环和scanner类
  • 【Qt QML】Frame组件