天天看点

C++之栈1.stack的基本使用2.应用:

文章目录

  • 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       直接压入
           

继续阅读