queue 队列


1. 方法:push,front,back,pop,

deque 两端队列


1. 方法: push_front,push_back,front,back,pop_front,pop_back

priority_queue 优先队列


1. 方法:push,top,pop

2. 默认情况下,底层是最大堆

3. 最大堆最小堆定义

  1. priority_queue<int> pq; // 最大堆
  2. priority_queue<int,vector<int>,greater<int>> pq2; // 最小堆;(数据类型、底层实现、比较函数)

4. 自定义比较函数

  1. priority_queue<int,vector<int>,function<bool(int,int)>> pq3(myCmp);
  2. bool myCmp(int a,int b){ //... };

5. 底层是堆实现,所以除了 入队与出队外,其他所有元素都被屏蔽了