牛客題霸 用兩個棧實現佇列 C 題解 答案

2021-10-10 08:50:50 字數 434 閱讀 1555

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

我們都知道棧的性質是先進後出,佇列是先進先出

我們用兩個棧來模擬出佇列

可以先用乙個棧來存數,當要輸出時,最上面的是最晚進棧的,我們將所有數存到另乙個棧內,這樣就使得第二個棧的頂部是最早輸入的數,就可以實現先進先出

class

solution

intpop()

}int num = stack2.

top();

stack2.

pop();

return num;

}private

: stack<

int> stack1;

stack<

int> stack2;

};

牛客刷題 用兩個棧實現佇列

題目 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。佇列是先入先出,堆疊是先入後出,通過兩個堆疊的push和pop操作可以實現堆疊的元素反轉,從而達到先入先出的效果。假設stack1是正常的棧,statck2是逆序的棧 和佇列順序一致 對於push操作,要保證新p...

牛客網刷題 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。棧 先進後出 佇列 先進先出 push 1,2,3 pop 3,2,1 因為棧跟佇列出入的順序是相反的,所以我們可以借助兩個棧解決問題,stack1負責儲存push的資料,stack2負責在pop操作的時候,將stat...

用兩個棧實現佇列 用兩個佇列實現棧

劍指offer 面試題7 用兩個棧實現佇列。templateclass cqueue 我們試著用兩個棧來模擬佇列的操作,發現如下可行操作 完整 實現 面試題7 用兩個棧實現佇列 分別完成在隊尾插入結點和在隊頭刪除結點的功能。date 2014 06 27 include include includ...