std::vector
:动态数组,支持快速的随机访问和尾部插入/删除操作,适合用于需要动态大小的数组情况。std::deque
:双端队列,支持快速的头尾插入/删除操作,适合用于需要在两端进行插入/删除的情况。std::list
:双向链表,支持快速的插入/删除操作,但不支持随机访问,适合用于需要频繁插入/删除操作的情况。
std::set
:集合,内部元素按照一定的顺序进行排序,不允许重复元素。std::map
:映射,键值对的集合,内部元素按照键的顺序进行排序,不允许重复的键。std::multiset
:多重集合,允许重复元素。std::multimap
:多重映射,允许重复的键。
std::unordered_set
:无序集合,内部元素无序存储,不允许重复元素。std::unordered_map
:无序映射,键值对的集合,内部元素无序存储,不允许重复的键。std::unordered_multiset
:无序多重集合,允许重复元素。std::unordered_multimap
:无序多重映射,允许重复的键。
std::stack
:栈,基于其他容器实现的后进先出(LIFO)的数据结构。std::queue
:队列,基于其他容器实现的先进先出(FIFO)的数据结构。std::priority_queue
:优先队列,基于其他容器实现的按照优先级排序的数据结构。
STL容器的特点
- 高度模板化:STL容器是模板类,可以存储任意类型的元素。
- 高效性能:STL容器在设计上注重性能,并且使用了高效的数据结构和算法。
- 统一的接口:STL容器的接口设计统一,使得不同的容器可以以类似的方式进行操作。
- 丰富的功能:STL容器提供了丰富的功能,包括插入、删除、查找、排序等操作,以及迭代器支持等。