半题外话:优先队列个人认为主要优点是可以在排序后进行类似于插入排序的操作,适合于需要在数组排序后再次进行操作的题目(再由此产生一堆bug)
本蒟蒻是在敲贪心的题时遇见的(弱得连个贪心都不会敲了呵),就开始了学(mo)习(ca)之旅
____________________________
————————————————
优先队列的结构:
队列
1.back() 返回一个引用,指向最后一个元素
2.empty() 如果队列空则返回真
3.front() 返回第一个元素
4.pop() 删除第一个元素
5.push() 在末尾加入一个元素
6.size() 返回队列中元素的个数
优先队列:
1.empty() 如果优先队列为空,则返回真
2.pop() 删除第一个元素
3.push() 加入一个元素
4.size() 返回优先队列中拥有的元素的个数
5.top() 返回优先队列中有最高优先级的元素
关于头文件的问题:以上操作都在头文件#include<queue>中执行。
来份代码操作???
#include<stdio.h>
#include<iostream>
#include<queue>
using namespace std;
int main()
{
priority_queue<int > que; // 默认从大到小
int n;scanf("%d",n);
for(int i=0;i<n;i