定义优先队列
priority_queue<node> q;
//node 是定义的结构体
定义结构体
struct node{
char name[15];
int num;
bool operator < (const node a) const{
return num>a.num; //最小值优先
}
}qq;
7-26 Windows消息队列(25 分)
输入样例:
9
PUT msg1 5
PUT msg2 4
GET
PUT msg3 2
PUT msg4 4
GET
GET
GET
GET
输出样例:
msg2
msg3
msg4
msg1
EMPTY QUEUE!
struct node{
string s;
int rank;
bool operator < (const node &a) const
{
return rank>a.rank;
}
};
int main()
{
priority_queue <node> q;
int n;
cin>>n;
node no;
while(n--)
{
string ss;
cin>>ss;
if(ss[0]=='P')
{
cin>>no.s;
cin>>no.rank;
q.push(no);
}
if(ss[0]=='G')
{
if(q.empty())
{
cout<<"EMPTY QUEUE!"<<endl;
}
node a=q.top();
cout<<a.s<<endl;
q.pop();
}
}
return 0;
}