博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZOJ 2724 Windows Message Queue (二叉堆,优先队列)
阅读量:5245 次
发布时间:2019-06-14

本文共 958 字,大约阅读时间需要 3 分钟。

思路:用优先队列 priority_queue,简单

两种方式改变队列 的优先级 (默认的是从大到小)

 

#include
#include
#include
using namespace std;struct node{ char name[100]; int para; int pri; int t;};/*struct cmp{ bool operator ()(node a,node b) { if(a.pri==b.pri) return a.t>b.t; return a.pri>b.pri; }};*/bool operator< (node a,node b) // 代码2{ if(a.pri==b.pri) return a.t>b.t; return a.pri>b.pri;}int main(){ node temp;// priority_queue
,cmp> q; priority_queue
q; // 代码2 char s[5]; int m; m=0; while(scanf("%s",s)!=EOF) { if(s[0]=='G') { if(!q.empty()) { temp=q.top();//top() 返回优先队列中有最高优先级的元素 q.pop();//pop() 删除第一个元素 printf("%s %d\n",temp.name,temp.para); } else printf("EMPTY QUEUE!\n"); } else if(s[0]=='P') { m++; scanf("%s%d%d",temp.name,&temp.para,&temp.pri); temp.t=m; q.push(temp);//push() 加入一个元素 } } return 0;}

 

转载于:https://www.cnblogs.com/bofengyu/p/4477439.html

你可能感兴趣的文章
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>
getopt_long
查看>>
TensorFlow MNIST CNN 代码
查看>>
javascript之Style物
查看>>
JSON跨域解决方案收集
查看>>
SSH框架整合总结
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>
[bzoj1004] [HNOI2008] Cards
查看>>
原生HttpClient详细使用示例
查看>>
几道面试题
查看>>
Factory Design Pattern
查看>>
python中贪婪与非贪婪
查看>>
guava API整理
查看>>
无锁编程笔记
查看>>
jquery mobile
查看>>