Skip to content
Miliya's Expedition
Go back

堆疊Stack

堆疊是一種由下往上的線性結構,它就像一個桶子,所有資料皆從同一端(頂端)進入與離開,因此必須遵守【後進先出LIFO】原則 正因如此,無法讀取中間或底層的資料,必須先把頂端的資料移走,才能知道中間或底層資料的內容

使用堆疊的好處在於 Push、Pop、Peek的複雜度都是O(1)

應用

場景為什麼用 Stack
函式呼叫 / 遞迴每次呼叫壓入,回傳時彈出,天然 LIFO
括號匹配 ()[]{}遇到左括號 push,遇到右括號 pop 比對
瀏覽器上一頁每次跳頁 push,按返回鍵 pop
復原 Undo 功能每個操作 push,Undo 就 pop

Share this post on:

Previous Post
什麼是 Cache?
Next Post
佇列Queue