用兩個棧來實現乙個佇列,完成佇列的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...