資料結構 佇列 (十二) 佇列實現棧

2021-09-13 13:41:16 字數 898 閱讀 8123

使用兩個佇列實現棧,要滿足**先出,比如輸入:1 2 3 4 5,那麼輸出就應該是:5 4 3 2 1

使用兩個佇列,分別是資料佇列和輔助隊裡,

1、資料新增到資料佇列中

2、元素出棧時,將有資料的佇列元素(保留最後乙個元素)移動到無資料的佇列

3、將最後乙個元素出隊,正式所需要的出棧資料

system.out.println("出棧的元素:");

for (int i = 1; i < 6; i++)

}/**

* 獲取元素

*/private static object popelement() else

}/**

* 將輔助佇列的元素放入資料佇列,並將輔助佇列的最後乙個元素出隊

*/private static object popelementfromoriginalqueue()

return helpqueue.poll();

}/**

* 將資料佇列的元素放入輔助佇列,並將資料佇列的最後乙個元素出隊

*/private static object popelementfromhelpqueue()

return originalqueue.poll();}}

輸出結果:

入棧的元素:

1 2 3 4 5

出棧的元素:

5 4 3 2 1

資料結構 棧 佇列

二 佇列 注 鏈式儲存 定義鍊錶元素所儲存的資料型別 以int為例 typedef int elemtype 定義棧的結點結構及結點指標型別 typedef struct stacknode stacknode,stacknodeptr 定義指向棧的結構 typedef struct linksta...

資料結構 棧 (十) 使用棧實現佇列

使用兩個棧模擬佇列,比如輸入 1 2 3 4,則要求輸出仍是 1 2 3 4 1 有兩個棧,乙個用來存放入隊資料 資料棧 乙個用來輔助 輔助棧 實現資料出隊。2 資料新增時,會依次壓人棧,取資料時會取棧頂元素,但要模擬佇列的先進先出,所以就得取棧底元素,那麼輔助棧就派上用場了,把資料棧的元素依次彈出...

資料結構 用佇列實現棧 C

棧實現佇列功能 include include include include using namespace std 結點 class mydata 預設建構函式 mydata int value data value next null 帶引數建構函式 int data mydata next ...