前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows Message Queue

Windows Message Queue

作者头像
杨鹏伟
发布2020-09-11 14:54:53
5300
发布2020-09-11 14:54:53
举报
文章被收录于专栏:ypwypw

Windows Message Queue HDU 1509

题意:

在这里插入图片描述
在这里插入图片描述

意思就是看样例就明白了~

优先级高的先输出,优先级相同的话那么我们就按照顺序来输出

思路:这个题对我来说是比较难的了,从题中我们很容易看出要采用结构体来做,然后因为是大的先输出,我们很容易想到优先队列。这里注意优先级队列如果插入的节点是结构体类型,则要在结构体中重载比较操作符函数。

代码语言:javascript
复制
#include<bits/stdc++.h>

using namespace std;

struct node{
	char name[110];
	int num,id,no;
	friend bool operator<(node a,node b){
	  if(a.no != b.no) return a.no > b.no;
	  return a.id > b.id;}
};
priority_queue <node> q;


int main(){
	char a[110];
	int i = 0;
	while(cin>>a){
		node temp;
		if(strcmp(a,"GET")==0){//如果是GET
			if(!q.empty()){
				cout<<q.top().name<<" "<<q.top().num<<endl;
			    q.pop();
			}
			else{
				cout<<"EMPTY QUEUE!"<<endl;
			}
		}
		else{
			cin>>temp.name>>temp.num>>temp.no;
			temp.id = ++i;//表示先后顺序
			q.push(temp);
		}
	}
	return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档