7-20 Windows消息队列 (25 分)(模拟水题)

题意:

?

思路: 用优先队列直接模拟就OK了,另外优先队列存pair的时候比较的是first的值,实测!!

?

上代码:

 1 #include <iostream>
 2 #include <queue>
 3 #include <cstdio>
 4 #include <algorithm>
 5 #include <cmath>
 6 #include <cstring>
 7 #include <queue>
 8 #include <vector>
 9 #define INF 0x3f3f3f3f
10 #define FRE() freopen("in.txt","r",stdin)
11
12 using namespace std;
13 typedef long long ll;
14 typedef pair<int,string> P;
15 const int maxn = 1e5+10;
16 priority_queue<P, vector<P>, greater<P> > que;
17 string op,name;
18 int n,id;
19
20 int main() {
21     //FRE();
22     cin>>n;
23     for(int i = 0; i<n; i++) {
24         cin>>op;
25         if(op[0]==‘P‘) {
26             cin>>name>>id;
27             que.push(P(id, name));
28         } else {
29             if(que.empty()){
30                 cout<<"EMPTY QUEUE!"<<endl;
31             }
32             else{
33                 P p = que.top();
34                 que.pop();
35                 cout<<p.second<<endl;
36             }
37         }
38     }
39     return 0;
40 }
41 /*
42 样例输入:
43 9
44 PUT msg1 5
45 PUT msg2 4
46 GET
47 PUT msg3 2
48 PUT msg4 4
49 GET
50 GET
51 GET
52 GET
53 样例输出:
54 msg2
55 msg3
56 msg4
57 msg1
58 EMPTY QUEUE!
59 */

原文地址:https://www.cnblogs.com/sykline/p/9737876.html

时间: 2024-11-10 11:02:14

7-20 Windows消息队列 (25 分)(模拟水题)的相关文章

ZOJ 2724 Windows 消息队列 (优先队列)

链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2724 Message queue is the basic fundamental of windows system. For each process, the system maintains a message queue. If something happens to this process, such as mouse click, text cha

搞懂分布式技术20:消息队列因何而生

搞懂分布式技术20:消息队列因何而生 消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一. 当今市面上有很多主流的消息中间件,如老牌的ActiveMQ.RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify.MetaQ.RocketMQ等. 本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你需要思考和设计的重要方面.过程中我们会参考这些成熟消息队列的很多重

Windows消息队列

一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个"消息队列",即应用程序队列,用来存放该程序可能 创建的各种窗口的消息.应用程序中含有一段称作"消息循环"的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中.  二 Windows为当前执行的每个Windows程序维护一个「消息队列」.在发生输入事件之后,Windows将事件转换为一个「消息」并将消息放入程序的消息队列中.程序通过执行一块称之为「消息循

细说UI线程和Windows消息队列

在 Windows应用程序中,窗体是由一种称为" UI线程( User Interface Thread)"的特殊类型的线程创建的. 首先, UI线程是一种"线程",所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程 ID. 其次," UI线程"又是"特殊"的,这是因为 UI线程的线程函数中会创建一种特殊的对象--窗体,同时,还一并负责创建窗体上的各种控件. 窗体和控件大家都很熟悉了,这些对象具有接收用户操作的

POJ 3030. Nasty Hacks 模拟水题

Nasty Hacks Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13136   Accepted: 9077 Description You are the CEO of Nasty Hacks Inc., a company that creates small pieces of malicious software which teenagers may use to fool their friends.

HDOJ 2317. Nasty Hacks 模拟水题

Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3049    Accepted Submission(s): 2364 Problem Description You are the CEO of Nasty Hacks Inc., a company that creates small pieces of

windows 消息队列

许多朋友都不会使用MSDN LIBRARY(虽然MSDN 跟 MSDN LIBRARY 不是一回事,但是下文中还是简写为MSDN),其实它是非常重要的东西. 其实所有的说明都可以在MSDN中查到. 环境:VS2008 + SP1补丁    MSDN LIBRARY 2008 + SP1 补丁 打开 这个版本的 MSDN 后,可以看到如图的界面 在最左下角,我们可以看到  Contents .Index .Help Favorites 等选项卡,较为重要的就是 Contents 和 Index ,

Windows消息队列学习笔记

1.windows消息和消息结构 一条消息是作为一个结构传递给应用程序的,这个结构中,包含了消息号,消息的类型,字参数和长字参数等信息.结构定义如下: typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; 第一个成员变量hwnd表示消息所属的窗口.在Windows程序中,用HWND类型的变量来标识窗口. 第二个成员变量message指定

PAT 甲级 1029 Median (25 分)(思维题,找两个队列的中位数,没想到)*

1029 Median (25 分) Given an increasing sequence S of N integers, the median is the number at the middle position. For example, the median of S1 = { 11, 12, 13, 14 } is 12, and the median of S2 = { 9, 10, 15, 16, 17 } is 15. The median of two sequence

使用windows消息队列MessageQueue

Config中appSettings配置: <--本地消息队列时 value=".\PRIVATE$\MgrApiRequest"/>--> <add key="RequestQueueName" value="FormatName:Direct=TCP:192.168.100.102\PRIVATE$\MgrApiRequest" /> 消息队列连接,将order类资料加入消息队列中: MessageQueue m