HDU1509题Windows Message Queue(优先队列)

举报
Linux猿 发表于 2021/08/06 01:15:40 2021/08/06
【摘要】 题目链接~~>     本题纯优先队列:注意输出时如果两个优先级相同输出先输入的。   代码: #include<stdio.h>#include<string.h>#include<queue>using namespace std;struct zhang{ char str[100]; i...

题目链接~~>

 

  本题纯优先队列:注意输出时如果两个优先级相同输出先输入的。

 

代码:


  
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<queue>
  4. using namespace std;
  5. struct zhang
  6. {
  7. char str[100];
  8. int x,y,h;
  9. friend bool operator<(const zhang &a,const zhang &b)
  10. {
  11. if(a.x!=b.x)
  12. return a.x > b.x ;
  13. else
  14. return a.h > b.h;
  15. }
  16. };
  17. int main()
  18. {
  19. char s[10];
  20. int f=0;
  21. priority_queue<zhang>q;
  22. zhang current;
  23. while(scanf("%s",s)!=EOF)
  24. {
  25. if(strcmp(s,"GET")==0)
  26. {
  27. if(q.empty())
  28. {
  29. printf("EMPTY QUEUE!\n");
  30. }
  31. else {
  32. current=q.top();
  33. printf("%s %d\n",current.str,current.y);
  34. q.pop();
  35. }
  36. }
  37. else {
  38. scanf("%s%d%d",current.str,¤t.y,¤t.x);
  39. current.h=f++;
  40. q.push(current);
  41. }
  42. }
  43. return 0;
  44. }


 

文章来源: blog.csdn.net,作者:Linux猿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/nyist_zxp/article/details/9165539

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。