包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
public: /*入栈时,判断存放最小元素的栈是否为空, 入栈元素是否小于存放最小元素栈的栈顶元素*/ void push(int value) { stacktemp.push(value); if(minstack.empty() || value<minstack.top()) minstack.push(value); } /*出栈时,判断出栈元素和最小元素栈的栈顶元素是否值相同*/ void pop() { if(stacktemp.empty()) return; if(stacktemp.top()==minstack.top()) minstack.pop(); stacktemp.pop(); } int top() { if(!stacktemp.empty()) return stacktemp.top(); } int min() { int minval; if(!minstack.empty()) minval=minstack.top(); return minval; } };