資料結構 java語言實現用兩個棧實現佇列

2021-09-23 15:23:24 字數 456 閱讀 6275

目錄

1 題目描述

2 解題思路

3 **實現

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

我們知道:棧-先進後出,佇列-先進先出,如何用兩個棧實現佇列呢?很簡單,我們可以用乙個棧1進行入棧操作,另乙個棧2進行出棧操作,這時我們就要分情況了:當棧2為空時,將棧1中的元素依次出棧並且將這些元素依次入到棧2,故棧1中先入棧的元素在棧2出棧時也先出棧,這樣就實現了佇列的功能,當棧2不為空時,直接將棧2中的棧頂元素進行出棧即可。

public class solution 

public int pop()

}int olddata = 0;

if(!stack2.empty())

return olddata;

}}

資料結構 棧的介面的實現(用c語言實現)

棧的實現一般可以使用陣列或者鍊錶實現,相對而言陣列的結構實現更優一些。因為陣列在尾上插入資料的代價比較小。定長的靜態棧結構,一般不實用,所以下面給出的是支援動態增長的棧 具體實現 如下 pragma once include include include include typedef int s...

c語言實現兩個檔案內資料相加

text1內容為 text1.txt begin 10 11 12 20 21 22 30 31 32 endtext2內容為 text2.txt begin 15 16 17 25 26 27 35 36 37 end要求生成的text3內容為 text3.txt begin 25 27 29 4...

資料結構中用兩個佇列實現棧

棧 後進先出 lifo last in first out 最後插入的元素最先出來。佇列 先進先出 fifo first in first out 最先插入的元素最先出來。圖 1 當棧裡面插入元素 abcd 的時候,元素a在棧底 最後出去 d在棧頂 最先出去 圖 2 將元素 abc 從q1中頭刪,然...