zoukankan      html  css  js  c++  java
  • 得到栈中的最小值

    #include <iostream>
    #include <stack>
    using namespace std;
    
    class GetMinStack{
    public:
        void push(int x);
    
        void pop();
    
        int top();
    
        int getmin();
    private:
        stack<int> S;
        stack<int> temp;
    };
    
    void GetMinStack::push(int x)
    {
        if(S.empty())
        {
            temp.push(x);
            S.push(x);
        }
        else
        {
            if(x < temp.top())
            {
                temp.push(x);
                S.push(x);
            }
            else
            {
                temp.push(temp.top());
                S.push(x);
            }
        }
    }
    void GetMinStack::pop()
    {
        S.pop();
        temp.pop();
    }
    int GetMinStack::top()
    {
        return S.top();
    }
    int GetMinStack::getmin()
    {
        return temp.top();
    }
    
    int main()
    {
        GetMinStack TestStack;
        TestStack.push(-2);
        cout << TestStack.top() << endl;
        cout << TestStack.getmin() << endl;
        TestStack.push(0);
        cout << TestStack.getmin() << endl;
        TestStack.push(-6);
        cout << TestStack.getmin() << endl;
        TestStack.pop();
        cout << TestStack.getmin() << endl;
        return 0;
    }
  • 相关阅读:
    java内部类
    unityUI拖拽
    Java泛型
    java集合
    python爬取糗百段子
    python读取文件并保存到mysql数据库
    BeanShell Sampler 身份证号-jmeter
    python操作数据库
    创建身份证号
    随机生成四要素
  • 原文地址:https://www.cnblogs.com/11ys/p/14266531.html
Copyright © 2011-2022 走看看