容器适配器
可以用某种顺序容器来实现,(让已有的顺序容器以栈/队列的方式工作)。
- stack: 头文件 <”stack“>
• 栈 – 后进先出 - queue: 头文件 <“queue”>
• 队列 – 先进先出 - priority_queue: 头文件 <“queue”>
• 优先级队列 – 最高优先级元素总是第一个出列
公共成员函数
都有3个成员函数:
• push: 添加一个元素;
• top: 返回栈顶部或队头元素的引用
• pop: 删除一个元素
容器适配器上没有迭代器
~STL中各种排序, 查找, 变序等算法都不适合容器适配器
stack
stack 是后进先出的数据结构
只能插入, 删除, 访问栈顶的元素
可用 vector, list, deque来实现
• 缺省情况下, 用deque实现
• 用 vector和deque实现, 比用list实现性能好
template<class T, class Cont = deque >
class stack {
…
};
stack 中主要的三个成员函数:
• void push(const T & x);
将x压入栈顶
• void pop();
弹出(即删除)栈顶元素
• T & top();
返回栈顶元素的引用. 通过该函数, 可以读取栈顶元素的值, 也可以修改栈顶元素
deque
和sta