容器库已经作为class templates 实现。
容器库中是编程中常用的结构:
(1)动态数组结构vector;
(2)队列queue;
(3)栈stack;
(4)heaps 堆priority_queue;
(5)Linked list--list 列表;
(6)树结构 tree--Set集合;
(7)关联数组--map
选用何种容器,需要依据使用木易,以及方法函数的复杂度。对于序列容器, 在插入以及删除和获取元素值的操作要有权衡。
stack,queue,priority_queue 作为容器适配器实现 container adaptors. 容器适配器不是容器类,而是提供了特定接口的类。因此容器适配器的使用通过“适配器提供的函数”来实现,而不是底层的容器类。
容器模板类别:
1. 序列容器
- array【C11提供】
- vector
- deque(双端队列)
- forward_list【C11提供】
- list
2. 容器适配器
- stack(FIFO stack)
- queue(FIFO stack)
- priority_queue(priority queue)
3. 关联容器
- set
- multiset
- map
- multimap
4. 无序关联容器
- unorder_set【C11提供】
- unorder_multiset【C11提供】
- unorder_map【C11提供】
- unorder_multimap【C11提供】
5. 其他分类
- bitset
- valarray