容器适配器 stack, queue, priority_queue

/ 0评 / 0

容器适配器

1) stack: 头文件 < stack >
栈 -- 后进先出
2) queue: 头文件 < queue >
队列 -- 先进先出
3) priority_queue: 头文件 < queue >
优先级队列 -- 最高优先级元素总是第一个出列

都有3个成员函数:

容器适配器上没有迭代器——STL中各种排序, 查找, 变序等算法都不适合容器适配器

stack

  1. stack 是后进先出的数据结构
  2. 只能插入, 删除, 访问栈顶的元素
  3. 可用 vector, list, deque来实现

    • 缺省情况下, 用deque实现
    • 用 vector和deque实现, 比用list实现性能好
template
class stack {
…
};

stack 中主要的三个成员函数:

void push(const T & x);
将x压入栈顶
void pop();
弹出(即删除)栈顶元素
T & top();
返回栈顶元素的引用. 通过该函数, 可以读取栈顶
元素的值, 也可以修改栈顶元素

queue

template
class queue {
……
};

priority_queue

发表评论

电子邮件地址不会被公开。 必填项已用*标注