文章目录
- 1.stack的基本使用
- 2.应用:
1.stack的基本使用
- 头文件:
#include<stack>
- 向栈中压入一个成员:
st.push(x);
- 向栈顶弹出一个元素:
st.pop();
- 判读栈是否为空:
st.empty();
- 返回栈顶元素,但不删除成员:
st.top();
- 返回栈的大小:
st.size();
2.应用:
- 题目:最大新整数:这道题有很多方法可以做,用栈的话做的话思路就算是比较清晰。
- 题目:最小栈:这道题求最小栈,我们通常设置另一个栈(最小栈)和栈一一对应,规则如下:首先压入数据,假设当前数据为newnum,压入数据栈datastack,若最小栈minstack为空,则直接压入。若最小栈非空,则进行比较:若newnum与minstack相等或者更小,则newnum压入最小栈minstack,否则,重复压入栈顶的元素到stackmin中。接着弹出数据,minstack与datastack是对应的。最后是查询,栈顶元素是最小值。
1 1 直接压入
2 1 栈顶元素重复压入
1 1 直接压入
5 3 栈顶元素重复压入
4 3 栈顶元素重复压入
3 3 直接压入