由兩個棧組成的佇列

2021-09-26 07:10:30 字數 492 閱讀 2905

用兩個棧實現佇列,支援佇列的基本操作。

第一行輸入乙個整數n,表示對佇列進行的操作總數。

下面n行每行輸入乙個字串s,表示操作的種類。

如果s為"add",則後面還有乙個整數x表示向佇列尾部加入整數x。

如果s為"poll",則表示彈出佇列頭部操作。

如果s為"peek",則表示詢問當前佇列中頭部元素是多少。

對於每乙個為"peek"的操作,輸出一行表示當前佇列中頭部元素是多少。
解決思路:用兩個棧,乙個作為壓入棧、乙個作為彈出棧(通過逆序壓入棧來實現)

**:

//由兩個棧組成的佇列

public class doublestacktoqueue

public void poll()

}stack2.pop();

}public int peek()

}return stack2.peek();

}}

由兩個棧組成佇列

說明 本文是左程雲老師所著的 程式設計師面試 指南 第一章中 由兩個棧組成的佇列 這一題目的c 復現。感謝左程雲老師的支援。題目 編寫乙個類,用兩個棧實現佇列,支援佇列的基本操作 push pop front 思路 乙個棧作為資料的壓如棧,乙個棧作為資料的彈出棧。編譯環境 centos6.7 x86...

棧和佇列 由兩個棧組成佇列

題目 編寫乙個類,用兩個棧實現佇列,支援佇列的基本操作 add,poll,peek 基本思路 使用兩個棧stackpush stackpop,stackpush棧負責壓入資料 stackpop棧負責將stackpush中的元素逆序,用於獲取或者彈出棧頂元素。但是有乙個規則 stackpop只有為空的...

1 2由兩個棧組成的佇列

題目 編寫乙個類,用兩個棧實現,支援佇列的基本操作 add poll peek 思路 乙個棧作為壓入棧,另乙個棧作為彈出棧。要做到 如果stackpush要往stackpop中壓入資料,那麼必須一次性把stackpush中的資料全部壓入。如果stackpop不為空,stackpush絕對不能向sta...