用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
比如有棧a和棧b,在模擬佇列的時候先將所有資料依次放入棧a中,在要彈出的時候將a中的資料依次從上到下放進棧b,結束之後取出b中最上面的那個資料,然後從上到下將資料放進棧a中,這樣就用兩個棧來實現了乙個佇列的「先進先出」的特點,而棧的特點是「後進先出」
**如下:
stackstack1 =
newstack();
stackstack2 = new
stack();
public
void
push(
intnode)
public
intpop()
intaaa=stack2.pop();
while
(!stack2.isempty())
return
aaa;
}
程式設計師面試題精選(18) 用兩個棧實現佇列
題目 某佇列的宣告如下 template class cqueue cqueue void deletehead remove a element from head private t m stack1 t m stack2 分析 從上面的類的宣告中,我們發現在佇列中有兩個棧。因此這道題實質上是要...
程式設計師面試題精選 18 用兩個棧實現佇列
題目 某佇列的宣告如下 分析 從上面的類的宣告中,我們發現在佇列中有兩個棧。因此這道題實質上是要求我們用兩個棧來實現乙個佇列。相信大家對棧和佇列的基本性質都非常了解了 棧是一種後入先出的資料容器,因此對佇列進行的插入和刪除操作都是在棧頂上進行 佇列是一種先入先出的資料容器,我們總是把新元素插入到佇列...
用兩個棧實現佇列 用兩個佇列實現棧
劍指offer 面試題7 用兩個棧實現佇列。templateclass cqueue 我們試著用兩個棧來模擬佇列的操作,發現如下可行操作 完整 實現 面試題7 用兩個棧實現佇列 分別完成在隊尾插入結點和在隊頭刪除結點的功能。date 2014 06 27 include include includ...