优先级队列
#inlcude<iostream>
#inlcude<queue>
using namespace std;
/*
push()//加入一个元素
top()返回堆顶元素
pop()删除堆顶元素 没有返回值
empty()如果为空 true 反之 false
size()返回优先级队列中拥有的元素个数
*/
int main(){
priority_queue<int> q1; //默认优先级队列,最大堆结构
q1.push(-5);
q1.push(554);
q1.push(7);
q1.push(-4);
q1.push(5);
while(!q1,empty()){
cout << q1.top() <<endl;
q1.pop();
}
}
/*
int:表示优先级队列中存放 int类型的元素
vector<int>表示优先级队列由数组模拟
greater<int>表示优先级队列为最小堆
less<int>表示优先级队列为最大堆
*/
priority_queue<int,vector<int>,greater<int>> q1;//greater 最小堆
priority_queue<int,vector<int>,less<int>> q2;//less 最大堆