1.初始化
priority_queue<int> pq1; //创建空队列,大顶堆
priority_queue<int,vector<int>,greater<int>> pq2; //创建空队列,小顶堆
priority_queue<int> pq3(priority_queue1); //拷贝构造
priority_queue<int> pq4(arr, arr+5); //数组构造
priority_queue<int> pq5(move(priority_queue2)); //移动构造
2.常用操作
pq.push(2); //将2入队
pq.emplace(2); //将2入队
pq.top(); //返回队首元素
pq.pop(); //将队首元素弹出
pq.empty(); //是否为空
pq.size(); //队列大小
3.不常用操作
pq1.swap(pq2);
4.遍历
while (!pq.empty()) {
cout << pq.top() << ' ';
c.pop();
}