MinInStack
来源:互联网 发布:adobe软件破解补丁 编辑:程序博客网 时间:2024/06/08 13:03
#include<stack>#include<assert.h>template <typename T> class MinInStack{public:MinInStack(){};virtual ~MinInStack(void){};T& top();const T& top() const;void push(const T& e);void pop();const T& min() const;private:std::stack<T> m_data;std::stack<T> min_data;};template <typename T> void MinInStack<T>::push(const T& value){m_data.push(value);if(min_data.size()==0 || value<min_data.top())min_data.push(value);else min_data.push(min_data.top());}template <typename T> void MinInStack<T>::pop(){assert(m_data.size()>0 && min_data.size()>0);m_data.pop();min_data.pop();}template <typename T> const T& MinInStack<T>::min() const{assert(m_data.size()>0 && min_data.size()>0);return min_data.top();}
0 0
- MinInStack
- JAVA全集-02-基本语法
- 例子:'0'和'/0','\0'的输出变化
- python sys.exitfunc (回调函数)
- jquery
- GIS算法--已知一点经纬度,方位角,距离求另一点
- MinInStack
- JQuery优化规范
- *【布局优化】android布局原则
- 深入浅出 RPC - 浅出篇
- Centos配置163 yum源方法
- symbol lookup error: undefined symbol
- 汇编 - ORG指令详解
- PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题
- ubuntu12.04添加快速启动项到左侧的启动栏上