设计一个有getMin功能的栈-c++
2016-10-17 13:33
405 查看
题目:实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。
算法思路:详见程序员代码面试指南 左程云著。page:1-3
c++实现代码:
算法思路:详见程序员代码面试指南 左程云著。page:1-3
c++实现代码:
#include <iostream> #include <vector> #include <iterator> #include <stack> using namespace std; class MyStack{ public: MyStack() = default; void my_push(int val); void my_pop(void); bool my_empty(void){return stackdata.empty() ? true:false;} int getMin(void){ return stackmin.top();} private: stack<int> stackdata; stack<int> stackmin; }; void MyStack::my_push(int val) { stackdata.push(val); if(stackmin.empty() || (stackmin.top() >= val)) stackmin.push(val); } void MyStack::my_pop(void) { if(!stackdata.empty()) { int top_val = stackdata.top(); stackdata.pop(); if(!stackmin.empty() && top_val == stackmin.top()) { stackmin.pop(); } } else cout << "mystack is empty!\n"<< endl; }
相关文章推荐
- 设计一个有getMin功能的栈(C++版)
- 左神的书——《程序员代码面试指南》之设计一个有getmin功能的栈 c++实现
- 栈和队列之设计一个有getMin(得到最小值)功能的栈
- 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 栈和队列 设计一个有getMin()功能的栈
- 栈——设计一个有getmin功能的栈
- 设计一个有getMin功能的栈
- 1_1栈和队列_设计一个有Getmin功能的栈
- 设计一个有getMin功能的栈
- Stack介绍以及设计一个有getMin 功能的栈
- [算法最优]设计一个有getMin功能的栈
- 数据结构 设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 算法--设计一个有getMin功能的栈
- 设计一个有getMin功能的栈
- 程序员面试指南之设计一个有GetMin功能的栈
- 设计一个有getMin功能的栈
- 栈和队列——设计一个有getMin功能的栈(一)
- 设计一个具有GetMin功能的栈