优先队列用法
基本用法:
q.size();//返回q里元素个数 q.empty();//返回q是否为空,空则返回1,否则返回0 q.push(k);//在q的末尾插入k q.pop();//删掉q的第一个元素 q.top();//返回q的第一个元素 q.back();//返回q的末尾元素
优先级:
priority_queue <int,vector<int>,greater<int> > q; //不需要#include<vector>头文件 //注意后面两个“>”不要写在一起,“>>”是右移运算符 priority_queue <int,vector<int>,less<int> >q;
重构 <
priority_queue <node> si; struct node { int x,y; bool operator < (const node & a) const { return x<a.x; } };
基本建优先队列:
priority_queue <int> q;