2019-11-27  本文已影响0人  鹿与云与雨

我们知道平凡的栈有几个操作:

push(value) 将 value 压入栈
pop() 将栈顶元素弹出, 并返回这个弹出的元素。

现在我们想要在平凡栈的基础上实现以下几个操作:
push(val) 将 val 压入栈;
pop() 将栈顶元素弹出;
min() 返回栈中元素的最小值。

//有部分测试未通过
#include<iostream>
#include<string>
using namespace std;
int a[1000000] = { 0 };
int len = 0;

int main()
{
    int N;
    cin >> N;
    for (int i = 0; i < N; i++)
    {
        string str;
        cin >> str;
        int M;
        if (str == "push")
        {
            cin >> M;
            a[len] = M;
            len++;
        }
        else if (str == "pop")
        {
            len--;
        }
        else if (str == "min")
        {
            int min=a[0];
            for (int j = 0; j < len; j++)
            {
                if (a[j] < min)
                    min = a[j];
            }
            cout << min;
            if (i < (N - 1))cout << endl;
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读