C++ STL容器
C++ STL(标准模板库)是一个强大的 C++ 模板类集合,它提供通用的类和函数以及模板,这些模板实现了许多流行且常用的算法和数据结构,例如向量、列表、队列和堆栈。
它是一个包含容器类、算法和迭代器的库。它是一个泛型库,因此其组件是参数化的。掌握模板类的知识是使用 STL 的先决条件。
模板是 C++ 编程语言的一个特性,它允许函数和类使用泛型类型进行操作。这允许一个函数或类在许多不同的数据类型上工作,而无需为每种数据类型重写。
C++ 标准模板库具有以下三个结构良好的组件:
1. 容器
容器用于管理特定类型的对象的集合。有几种不同类型的容器,例如 deque、list、vector、map 等。
顺序容器 - 这些容器实现可以顺序访问的数据结构。
- vector
- list
- deque
- 数组
- forward_list
容器适配器 - 它们为顺序容器提供不同的接口。
- queue
- priority_queue
- stack
关联容器 - 它们实现排序的数据结构,可以快速搜索(O(log n) 复杂度)。
- set
- multiset
- map
- multimap
无序关联容器 - 这些容器实现无序的数据结构,可以快速搜索。
- unordered_set
- unordered_multiset
- unordered_map
- unordered_multimap
2. 算法
算法作用于容器。它们提供执行初始化、排序、搜索和转换容器内容的方法。
算法
- 排序
- 搜索
- 重要的 STL 算法
- 有用的数组算法
- 分区操作
3. 迭代器
迭代器用于遍历对象集合的元素。这些集合可以是容器或容器的子集。
广告