天天看點

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       直接壓入
           

繼續閱讀