有一个初始为空的队列,我们对这个队列进行n次操作,操作共分为2种:
1. 1 x(将数字x放到队列的末尾)
2. 2(将队列最前面的数字弹出队列)
对于第2种操作,你需要把弹出的这个数字输出,如果进行操作2时,队列为空,则输出"empty"。
例如:n = 5,对应的操作为:
1 123 (操作后队列里面的元素为:123)
1 234(操作后队列里面的元素为:123, 234)
2(输出:123,操作后队列里面的元素为:234)
2(输出:234,操作后队列里面的元素为:空)
2(输出:empty)
对应后面3个第2类操作,你的程序需要输出,
123
234
empty
收起
输入
第一行:1个数n(1 <= n <= 10000)
后面n行:每行1种操作,1 X或者2(0 <= x <= 10000)
输出
对应所有操作2,输出被弹出的数或者"empty"
输入样例
5
1 123
1 234
2
2
2
输出样例
123
234
empty
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
int n;
cin >> n;
queue<int> myqueue;
for(;n--;)
{
int a, b;
cin >> a;
if(a == 1)
{
cin >> b;
myqueue.push(b);
}
else
{
if(myqueue.empty())
cout <<"empty"<<endl;
else
{
cout << myqueue.front() << endl;
myqueue.pop();
}
}
}
return 0;
}