STL(Standard Template Library,标准模板库)是C++的一个重要组成部分,提供了一组可复用的数据结构和算法,其中包括了很多常用的容器。以下是STL中常用的容器:
std::vector
: 动态数组,支持快速随机访问。std::deque
: 双端队列,支持在两端高效地插入和删除元素。std::list
: 双向链表,支持在任意位置插入和删除元素。std::forward_list
: 单向链表,与双向链表相比,空间占用更少,性能更好,但只支持单向遍历。std::set
: 关联容器,按照元素的键值自动排序,不允许重复元素。std::multiset
: 允许重复元素的关联容器,按照元素的键值自动排序。std::map
: 关联容器,按照元素的键值自动排序,并且可以根据键快速查找和访问值,不允许重复元素。std::multimap
: 允许重复键值的关联容器,按照元素的键值自动排序。std::unordered_set
: 哈希表,支持快速查找元素,不进行元素排序,不允许重复元素。std::unordered_multiset
: 允许重复元素的哈希表,不进行元素排序。std::unordered_map
: 哈希表,支持快速查找键值对,不进行元素排序,不允许重复键。std::unordered_multimap
: 允许重复键值对的哈希表,不进行元素排序。