容器是一个持有人对象, 用于存储其他对象(其元素)的集合。它们作为类模板实现, 这在作为元素支持的类型上提供了极大的灵活性。
容器管理其元素的存储空间, 并提供直接或通过迭代器(具有与指针相似的属性的引用对象)访问它们的成员函数。
序列容器
序列容器实现了可以顺序访问的数据结构。
- 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的最新文章
- 有关C ++ STL的最新文章
- 编码实践平台
- 多项选择题
- C ++类别中的所有文章
推荐阅读
- Accolite招聘经验更新(校园内)
- jQuery hide()使用和代码示例
- 如何检查jQuery中是否已选中复选框()
- 雅虎面试|S3
- Python中带有参数的装饰器
- MySQL中的EXP()函数用法详细介绍
- AngularJS 日期过滤器用法实例
- 什么是正确的JSON内容类型()
- 本文教你设置win7右键显示隐藏文件