C++ STL中的容器介绍(标准模板库)

2021年3月18日14:44:08 发表评论 905 次浏览

容器是一个持有人对象, 用于存储其他对象(其元素)的集合。它们作为类模板实现, 这在作为元素支持的类型上提供了极大的灵活性。

容器管理其元素的存储空间, 并提供直接或通过迭代器(具有与指针相似的属性的引用对象)访问它们的成员函数。

序列容器

序列容器实现了可以顺序访问的数据结构

  • array数组:静态连续数组(类模板)
  • vector向量:动态连续数组(类模板)
  • deque双端队列:双端队列(类模板)
  • forward_list:单链接列表(类模板)
  • list列表:双链表(类模板)

关联容器

关联容器实现了可以快速搜索的排序数据结构(O(log n)复杂度)。

Set:唯一键的集合, 按键排序(类模板)

map散列表:键值对的集合, 按键排序, 键是唯一的(类模板)。

multiset:键集合, 按键排序(类模板)

multimap:键值对的集合, 按键排序(类模板)

无序关联容器

无序关联容器实现了可以快速搜索的未排序(哈希)数据结构(O(1)摊销, O(n)最坏情况的复杂度)。

  • unordered_set:唯一键的集合, 由键散列。 (类模板)
  • unordered_map:键值对的集合(由键散列)是唯一的。 (类模板)
  • unordered_multiset:键集合, 按键散列(类模板)
  • unordered_multimap:键值对的集合, 按键散列(类模板)

容器适配器

容器适配器为顺序容器提供了不同的接口。

  • stack栈:调整容器以提供堆栈(LIFO数据结构)(类模板)。
  • queue队列:调整容器以提供队列(FIFO数据结构)(类模板)。
  • priority_queue优先队列:调整容器以提供优先级队列(类模板)。
C ++ STL中的容器(标准模板库)1

自适应容器和无序容器的流程图

C ++ STL中的容器(标准模板库)2

序列容器和有序容器的流程图

更多有用的链接

  • 有关C ++ STL的最新文章
  • 有关C ++ STL的最新文章
  • 编码实践平台
  • 多项选择题
  • C ++类别中的所有文章

被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: