2013-10-03 39 views
2

隊列和堆棧通常如何實現?

Columbia Notes,第4頁和5

我們可以實現用數組或鏈表的隊列。

...

我們可以實現一個數組或一個鏈表棧。

它是一個單鏈表還是雙鏈表?

此外,什麼時候使用數組,何時使用鏈接結構?

+2

瞭解隊列和堆棧以及ArrayLists和LinkedLists的操作的複雜性,您將能夠自己回答這個問題。也看看上面的類的源代碼。 –

+0

你怎麼能使用數組?它不是動態的。當您按下/彈出或添加/獲取時,它無法增長和縮小。 –

+1

您只需創建一個新的更大的陣列並複製元素。 –

回答

4

堆棧通常使用數組來實現。這是因爲項目總是從同一端添加/刪除。另一端永遠不會移動。

由於這是最簡單的實現,隊列通常作爲單向鏈表來實現。它可以作爲一個數組來實現,但這很難,只能在版本6中用Java添加。