#include <iostream>
//头文件queue包含循环队列queue 和 优先队列 priority queue优先队列两个容器
#include <queue> //先进先出
using namespace std;
int main()
{
//循环队列
queue<int> q;
q.push(1); // 从队尾插入
q.pop(); // 从队头弹出
q.front(); //返回队头元素
cout << q.back() << endl; //返回队尾元素
//没有clear函数
q = queue<int>(); //重新初始化
//优先队列
// push 把元素插入堆
// pop 删除堆顶元素
// top 查询堆顶元素(最大值)
priority_queue<int> a; //大根堆
priority_queue<int, vector<int>, greater<int>> b; //小根堆
a.push(1); //插入一个数
a.top(); //取最大值
a.pop(); //删除最大值
struct Rec
{
int a, b;
bool operator > <const Rec &t)const
{
return a > t.a;
}
}
priority_queue<Rec, vector<Rec>, greater<Rec>> d;
d.push({1, 2});
}