#include<cstring>
#include<iostream>
#include<queue>
#include<cstdio>
using namespace std;
struct Message
{
char Name[100];
int Date;
int Priority;
bool operator <(const Message &a)const
{
return a.Priority<Priority;
}
};
priority_queue<Message>v;
int main()
{
char command[100];
Message message;
while(scanf("%s",command)!=EOF)
{
if(strcmp(command,"GET")==0)
{
if(v.size()==0)
printf("EMPTY QUEUE!\n");
else
{
printf("%s %d\n",v.top().Name,v.top().Date);
v.pop();
}
}
else if(strcmp(command,"PUT")==0)
{
scanf("%s%d%d",&message.Name,&message.Date,&message.Priority);
v.push(message);
}
}
//system("pause");
return 0;
}ZOJ 2724Windows Message Queue
最新推荐文章于 2019-07-10 17:34:11 发布
本文介绍了一个基于C++实现的优先级消息队列程序,该程序使用了标准模板库(STL)中的priority_queue。文章详细展示了如何定义消息结构体,并通过比较运算符重载来确保消息能够按照优先级进行排序。此外,还提供了两种主要操作:PUT用于向队列中添加消息,GET则从队列中获取并输出最高优先级的消息。
527

被折叠的 条评论
为什么被折叠?



