**优先队列**
使用函数库实现,头文件<queue>
1)大根堆(默认):priority_queue<队列中元素类型> 队列名;
小根堆:(实现可向元素*-1再入最大优先队列)
priority_queue<队列元素类型,vector<类型>,greater<类型>空格> 队列名;
如:priority_queue<int,vector<int>,greater<int> > q;
2)常用操作
q.push(x) | 将x入堆 | O(logn) |
q.pop() | 将堆顶元素(取而不删) | O(logn) |
q.top() | 获取栈顶元素 | O(1) |
q.size() | 队列内元素个数 | O(1) |
q.empty()==1 | 队列为空 | O(1) |