#include<stdio.h>
#include<stack>
class MyQueue
{
public:
std::stack<int> stack1, stack2;
MyQueue() {}
//入队列
void push(int x)
{
while (!stack2.empty())
{
stack1.push(stack2.top());
stack2.pop();
}
stack2.push(x);
while (!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
//出队列
int pop()
{
int a = stack2.top();
stack2.pop();
return a;
}
//返回队列首元素
int peek()
{
return stack2.top();
}
//判断队列是否为空
bool empty()
{
return stack2.empty();
}
};
int main()
{
MyQueue Q;
Q.push(1);
Q.push(2);
Q.push(3);
Q.push(4);
printf("%d\n",Q.pop());
printf("%d\n", Q.peek());
return 0;
}