适配器(adaptor)是一个通用概念,容器、迭代器、函数都有适配器
C++标准库定义了三个顺序容器适配器:stack和 queue、priority_queue
栈 stack
头文件 include <stack>
底层 默认是通过deque实现,也可以通过list、vector实现。
关于deque
双端队列,一种连续空间(实际上是一段一段的连续空间,并由一个map结构统一管理)容器;
类似于vector、string;
deque能够支持快速的随机访问;
在头部和尾部添加、删除元素非常快速;
但在中间删除和添加元素比较费时。
stack支持的操作
1 |
|
队列 queue、priority_queue
queue提供普通的先进先出的队列功能;priority_queue允许我们为队列中的元素建立优先级
头文件 #include <queue>
queue默认是通过deque实现;priority_queue默认是通过vector实现
queue也可以通过list或vector实现;priority_queue也可以通过deque实现
queue支持的操作
1 |
|
priority_queue另外支持的操作
1 |
|