南宁网站推广流程,太原装修公司哪家好,网络服务器管理软件,为什么要给企业建设网站?思路#xff1a;当队列入队的时候#xff0c;将元素入栈#xff08;instack#xff09;#xff0c;当队列出栈的时候#xff0c;先判断栈#xff08;outstack#xff09;是否为空#xff0c;如果为空#xff0c;则将栈#xff08;instack#xff09;的元素全部放入…思路当队列入队的时候将元素入栈instack当队列出栈的时候先判断栈outstack是否为空如果为空则将栈instack的元素全部放入栈outstack中然后取出栈outstack顶元素如果栈outstack不为空则直接取出栈outstack顶元素。
class MyQueue {
private: stackint instack,outstack;void inout(){while(!instack.empty()){outstack.push(instack.top());instack.pop();}}public:MyQueue() {}void push(int x) {instack.push(x);}int pop() {if(outstack.empty()){inout()}int x outstack.top();outstack.pop();return x;}int peek() {if(outstack.empty()){inout()}return outstack.top();}bool empty() {return instack.empty() outstack.empty();}
};/*** Your MyQueue object will be instantiated and called as such:* MyQueue* obj new MyQueue();* obj-push(x);* int param_2 obj-pop();* int param_3 obj-peek();* bool param_4 obj-empty();*/