1.基本操作:
empty() 如果队列为空,则返回真
pop() 删除对顶元素,删除第一个元素
push() 加入一个元素
size() 返回优先队列中拥有的元素个数
top() 返回优先队列对顶元素,返回优先队列中有最高优先级的元素
2.声明
1)头文件
2)priority_queue
priority_queue
以下是以pair:
priority_queue
priority_queue
(PS:注意pair需要头文件
3.代码演示
#include#include #include #include using namespace std; typedef pair PII; int main() { priority_queue q1; priority_queue ,greater > q2; priority_queue q3; priority_queue ,greater > q4; if(q1.empty()) cout<<"此队列为空"< (PS:c++11支持push({100,25}),如果有编译错误,请换成make_pair(别问我是怎么知道的!!!))
4.一道例题
https://codeforces.com/problemset/problem/1526/C2https://codeforces.com/problemset/problem/1526/C2ac代码
#include#include #include #include using namespace std; int a[200010]; int main() { priority_queue , greater > c; int n,i,j=0,num=0; long long sum=0; cin>>n; for(i=0;i >a[i]; for(i=0;i



