(二叉堆10.2.1)ZOJ 2724 Windows Message Queue(对结构体使用优先队列)

来源:互联网 发布:云计算的安全问题包括 编辑:程序博客网 时间:2024/05/16 07:49
/* * ZOJ_2724.cpp * *  Created on: 2013年11月7日 *      Author: Administrator */#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;struct MES {char str[10];int mes;int p;int id;bool operator<( const MES& b)const {//特别要注意这种写法...if (p != b.p) {return p > b.p;}return id > b.id;}};int main() {char s[26];priority_queue<MES> q;//对结构体使用优先队列MES tmp;while (scanf("%s", s) != EOF) {int index = 0;if (strcmp(s, "PUT") == 0) {scanf("%s %d %d", tmp.str, &tmp.mes, &tmp.p);tmp.id = index++;q.push(tmp);} else {if (q.empty()) {printf("EMPTY QUEUE!\n");} else {tmp = q.top();q.pop();printf("%s %d\n", tmp.str, tmp.mes);}}}return 0;}

原创粉丝点击