1.3 设计一个有getMin功能的栈
来源:互联网 发布:h5表单源码 编辑:程序博客网 时间:2024/06/05 21:57
题目:实现一个特殊的栈,在栈的基本功能上,实现返回栈中最小值的操作。
思路:使用两个栈,stackData存放当前栈中元素,功能与普通栈没有区别。stackMin存放每一步的最小值,若当前压栈的数据小于等于stackMin的栈顶元素,就将这个数据入栈到stackMin中。
class myStack{ public: myStack(); virtual ~myStack(); void push(int num); //入栈 void pop(); int getMin(); //获取栈中最小元素 private: std::stack<int> stackData; std::stack<int> stackMin;};//出栈void myStack::push(int num){ stackData.push(num); if(stackMin.empty() || stackMin.top() >= num){ stackMin.push(num); }}//入栈void myStack::pop(){ if(stackData.top() == stackMin.top()){ stackMin.pop(); } stackData.pop();}//获取栈中最小元素int myStack::getMin(){ if(stackMin.empty()){ std::cerr<<"the stack is empty"<<std::endl; return 0; } return stackMin.top();}
0 0
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有 getMin功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 1.3 设计一个有getMin功能的栈
- 栈——设计一个有getmin功能的栈
- 栈和队列 设计一个有getMin()功能的栈
- 栈和队列---设计一个有getMin功能的栈
- ubuntu 改变终端提示符
- java 生产者消费者模式
- python-opencv实现切变换,不裁减图片
- 全栈工程师不是一个人的单打独斗
- Could not initialize class sun.security.provider.SecureRandom$Seeder
- 1.3 设计一个有getMin功能的栈
- django如何实现文件的上传,修改,删除,展示(02)
- informix linux安装步骤
- volatile
- Firefox OS的奇幻漂流——全面解析新一代Open Web移动操作系统
- Linux下C线程池的实现
- weblogic报错
- 2构造/析构/赋值运算
- 软件测试从零开始之⼀一:⾛进软件测试