#include <iostream>
#include <cstdio>
#include <stack>
using namespace std;
struct StackMin
{
stack<int> s;
stack<int> min;
void push(int value)
{
s.push(value);
if (min.empty() == true || min.top() >= value)
{
min.push(value);
}
}
void pop()
{
if (s.empty())
{
cout<<"the stack is empty"<<endl;
return ;
}
if (min.top() == s.top())
{
min.pop();
}
s.pop();
}
int getMin()
{
return min.top();
}
};
int main(int argc, char const *argv[])
{
StackMin s;
s.push(10);
s.push(12);
s.push(15);
s.push(7);
s.push(9);
s.push(7);
cout<<s.getMin()<<endl;
s.pop();
cout<<s.getMin()<<endl;
s.push(17);
return 0;
}
2-设计包含min函数的栈
最新推荐文章于 2021-01-17 12:24:55 发布