剑指offer--面试题30:包含min函数的栈

来源:互联网 发布:食品网络营销策划方案 编辑:程序博客网 时间:2024/06/05 20:55

#include<iostream.h>#include<stack>using namespace std;class Solution{public:    stack<int> st, minSt;//st表示存储元素的栈,minSt保存每次栈操作时,保存栈中最小元素void push(int value) ;void pop() ;int min() ;   };void Solution::push(int value) {st.push(value);if (minSt.empty()||value < minSt.top())minSt.push(value);else minSt.push(minSt.top()); return;}void Solution::pop() {//出栈时,需要对两个栈st和minSt同时操作if (!st.empty()) {st.pop();minSt.pop();}return;}int Solution::min() {if (!minSt.empty()) {return minSt.top();}return 0;}void main(){Solution s;s.push (2);s.push (3);s.push (1);s.push (7);s.push (0);s.push (13);s.pop();s.pop();s.pop();printf("当前最小栈内元素为:%d\n",s.min());}


阅读全文
0 0
原创粉丝点击