#include
#include//栈
using namespace std;
class CQueue{
stack stack1,stack2;
public:
CQueue(){}
void append(int value){
stack1.push(value);
}
int del(){
int value;
//如果stack2是非空的,栈顶元素即为队首,直接出栈即可
if(!stack2.empty()){
value=stack2.top();
stack2.pop();
}else{
//如果stack2是空的,则要将stack1中的元素全部出栈,并压入至stack2中
//然后判断stack2中的元素情况,然后得到队首元素
//将stack1中的元素转移至stack2中
while(!stack1.empty()){
stack2.push(stack1.top());
stack1.pop();
}
//如果stack2非空,取stack2的栈顶元素即可
if(!stack2.empty()){
value=stack2.top();
stack2.pop();
}else{
//如果此时stack2仍为空,则说明队列为空,没有元素
value=-1;
}
}
cout<