优先队列的基本运用……
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 |
#include <cstdio> #include <cstring> #include <queue> using
namespace std; struct
Message { char
Name[100]; int
Data,Priority,index; friend
bool operator <( const
Message &a, const
Message &b){ if (a.Priority!=b.Priority) return
a.Priority>b.Priority; return
a.index>b.index; } }; priority_queue v; int
main(){ char
command[100]; Message message; int
k=0; 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().Data); v.pop(); } } else
if ( strcmp (command, "PUT" )==0){ scanf ( "%s%d%d" ,message.Name,&message.Data,&message.Priority); message.index=++k; v.push(message); } } return
0; } |
HDU 1509 Windows Message Queue,布布扣,bubuko.com
HDU 1509 Windows Message Queue
原文:http://www.cnblogs.com/forever97/p/3668974.html