双栈模拟队列

2017-07-08  本文已影响70人  熊白白

编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。
其实动手写一下,也很容易知道这个过程:

class TwoStack {
public:
    stack<int> inS,outS;
    void push(int n){
        inS.push(n);
    }
    
    int pop(){
        if(outS.empty()){
            while(!inS.empty()){
                int t=inS.top();
                inS.pop();
                outS.push(t);
            }
        }
        int t=outS.top();
        outS.pop();
        return t;
    }
}

扩展:用两个队列模拟栈。
其实用一个队列就可以做到。那么:

上一篇下一篇

猜你喜欢

热点阅读