先简单总结下简单常用的STL底层的实现,后期会挨个给大家解释

首先STL主要分为容器(containers)、迭代器(interators)、算法(algorithms)、函数(functors)、适配器()

容器:

向量(vector):连续存储元素,底层数据结构为数组,支持下标访问

列表(list):由节点组成的双向链表,每个节点包含着一个元素,支持快速增删

队列(queue):先进先出的值的排列

双队列(deque):连续存储的指向不同元素的指针所组成的数组,底层数据结

构为一个中央控制器和多个缓冲区,支持首位快速增删,中间不行,也支持随机访问

优先队列(priority_queue):元素的次序是由作用于所存储的值对上的某种位次

决定的一种队列,底层数据结构一般为vector,堆(heap)为处理规则来管理底层容器

实现

集合(set):由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的位次排序,没有两个不同的元素拥有相同的位次。有序,不重复

多重集合(multiset):允许两个次序相等的集合,有序,可重复

栈(stack):后进先出的值的排列

映射(map):由{键,值}对组成的集合,以某种作用于键对上的位次排序,底层数据结构为红黑树,有序,不可重复

多重映射(multimap):允许有相等的次序的映射,底层为红黑树,有序,可重复


你可能感兴趣的:(先简单总结下简单常用的STL底层的实现,后期会挨个给大家解释)