首先STL主要分为容器(containers)、迭代器(interators)、算法(algorithms)、函数(functors)、适配器()
容器:
向量(vector):连续存储元素,底层数据结构为数组,支持下标访问
列表(list):由节点组成的双向链表,每个节点包含着一个元素,支持快速增删
队列(queue):先进先出的值的排列
双队列(deque):连续存储的指向不同元素的指针所组成的数组,底层数据结
构为一个中央控制器和多个缓冲区,支持首位快速增删,中间不行,也支持随机访问
优先队列(priority_queue):元素的次序是由作用于所存储的值对上的某种位次
决定的一种队列,底层数据结构一般为vector,堆(heap)为处理规则来管理底层容器
实现
集合(set):由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的位次排序,没有两个不同的元素拥有相同的位次。有序,不重复
多重集合(multiset):允许两个次序相等的集合,有序,可重复
栈(stack):后进先出的值的排列
映射(map):由{键,值}对组成的集合,以某种作用于键对上的位次排序,底层数据结构为红黑树,有序,不可重复
多重映射(multimap):允许有相等的次序的映射,底层为红黑树,有序,可重复