zoukankan      html  css  js  c++  java
  • 两个队列实现一个栈

    #include <bits/stdc++.h>
    using namespace std;
    
    class MyStack {
    private:
        queue<int> que1;
        queue<int> que2; 
    public:
        MyStack() {
        }
        void Push(int x) {
            que1.push(x);
        }
        int Pop() {
            int size = que1.size();
            size--;
            while (size--) { 
                que2.push(que1.front());
                que1.pop();
            }
    
            int result = que1.front(); 
            que1.pop();
            que1 = que2; 
            while(!que2.empty()) { 
                que2.pop();
            }
            return result;
        }
    
        int Size(){
            return que1.size();
        }
    
        int Top() {
            return que1.back();
        }
    
        bool Empty() {
            return que1.empty();
        }
    };
    
    int main(){
        MyStack sta;
        sta.Push(1);
        sta.Push(2);
        sta.Push(3);
        cout <<"size:" << sta.Size() << endl;
        cout <<"Pop:" << sta.Pop() << endl;
        cout <<"size:" << sta.Size() << endl;
        return 0;
    }
    /*
    输出结果:
    size:3
    Pop:3
    size:2
    */
  • 相关阅读:
    Swing 2
    Swing 1
    集合
    关于sql 模糊字段查询语句
    关于前端开发的几篇文章
    黄金点游戏
    word count
    四则运算
    软件工程——《构建之法》读后困惑
    自我介绍
  • 原文地址:https://www.cnblogs.com/zhengguiping--9876/p/13674496.html
Copyright © 2011-2022 走看看