面试题目21—包含min函数的栈
来源:互联网 发布:秒杀java实现代码 编辑:程序博客网 时间:2024/06/05 20:20
题目:定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数,调用min、push以及pop的时间复杂度都是O(1).
代码示例:
#include<iostream>using namespace std;# define MaxSize 20class MyStack{int data[MaxSize];int m_data[MaxSize];int length;public:MyStack(){length = -1;}~MyStack(){}void push(int n);void pop(int &n);int min(void);};void MyStack::push(int n){if (length == -1){length++;data[length] = n;m_data[length] = n;return ;}//length++;data[length] = n;if (m_data[length - 1] > n){m_data[length] = n;}else{m_data[length] = m_data[length-1];}}void MyStack::pop(int &n){if (length == -1){n = -1;return;}n = data[length];length--;//}int MyStack::min(void){if (length != -1){return m_data[length];}else{return -1;}}void main(){MyStack mystack;mystack.push(6);mystack.push(0);mystack.push(1);mystack.push(8);mystack.push(9);mystack.push(3);cout << "最小值:" << mystack.min() << endl << endl;int n;//mystack.pop(n);cout << "栈顶元素" << n << "出栈:" << n;cout << "最小值:" << mystack.min() << endl<<endl;//mystack.pop(n);cout << "栈顶元素" << n << "出栈:" << n;cout << "最小值:" << mystack.min() << endl << endl;//mystack.pop(n);cout << "栈顶元素" << n << "出栈:" << n;cout << "最小值:" << mystack.min() << endl << endl;//mystack.pop(n);cout << "栈顶元素" << n << "出栈:" << n;cout << "最小值:" << mystack.min() << endl << endl;//mystack.pop(n);cout << "栈顶元素" << n << "出栈:" << n;cout << "最小值:" << mystack.min() << endl << endl;//mystack.pop(n);cout << "栈顶元素" << n << "出栈:" << n;cout << "最小值:" << mystack.min() << endl << endl;}
阅读全文
0 0
- 面试题目21—包含min函数的栈
- 题目21:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 题目1522:包含min函数的栈
- 算法题目---包含min函数的栈
- 【面试】包含min函数的栈
- 剑指offer-4-面试21:包含min函数的栈
- 【剑指Offer面试编程题】题目1522:包含min函数的栈--九度OJ
- 题目21:包含min()方法的栈
- 题目1522:包含min函数的栈-九度
- 【九度】题目1522:包含min函数的栈
- 九度oj 题目1522:包含min函数的栈
- 从入门开始
- 输出反转链表
- unity3d播放序列帧动画
- 关于日期
- 微信小程序后台解密用户数据
- 面试题目21—包含min函数的栈
- KSGT
- Spring4笔记--IOC
- 跳转Activity时,加入动画效果
- js数组方法
- 未来的世界一定是尔虞我诈的世界吗
- CircleImageView 解析与定制
- 面试题22—栈的压入、弹出序列
- jQuery加载html文档的几种方法