HDU 1509 Windows Message Queue

优先队列的基本运用……

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

上一篇:Winform打包程序制作的快捷方式指向错误的位置(指向安装包文件)


下一篇:[Windows Powershell]-学习笔记(6)