1. queue

queue不是容器,而是FIFO的容器适配器,默认使用deque实现。

queue的特点:

  1. 不能下标访问
  2. 无begin, end
  3. emplace, push实现尾部插入,pop实现头部删除

2. stack

stack是LIFO的容器适配器,用deque实现

stack的特点:

  1. 不能下标访问
  2. 只有top访问栈顶
  3. emplace, push栈顶插入,pop栈顶删除

3. priority_queue

优先队列容器适配器,默认使用less排序,即顶部为最大值。
操作类似stack: push, pop, top

//  存放的内容为int,底层基于vector实现,比较方法为less函数类
priority_queue<int, vector<int>> q;

// 存放的内容为pair<int, int>,底层基于vector实现,比较方法为自己定义的一个greater函数类
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q;

results matching ""

    No results matching ""