iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
Software Development

資料結構與演算法,使用JavaScript與Python系列 第 5

【Day5】[資料結構]-堆疊Stack

堆疊(Stack)是一種排列結構,不過是由下往上堆放,任何動作都必須從最頂端(top)進行,因此有「後進先出」(Last In First Out)特性,縮寫為LIFO。

可以想像餐廳取用堆放好的盤子時,會先從最上層盤子先取用,而最先放在底部的盤子會最後被取用。

在應用中:

  • 回到上一頁: 最先瀏覽的頁面,會在點擊最後一次此按鈕時才出現。
  • 還原: 最先被記錄的動作,會在點擊最後一次此按鈕時才被還原。

新增(push),刪除(pop)資料的情況

https://ithelp.ithome.com.tw/upload/images/20210916/20121027edOmUwqfoe.jpg


常見製作堆疊的方式

  • 使用陣列(Array)製作堆疊
    https://ithelp.ithome.com.tw/upload/images/20210916/20121027cRE4REw4KL.jpg

陣列的介紹可以參考此篇

  • 使用鏈結串列(Linked List)製作堆疊
    https://ithelp.ithome.com.tw/upload/images/20210916/20121027lorqGb2vXF.jpg

鏈結串列的介紹可以參考此篇


上一篇
【Day4】[資料結構]-鏈結串列Linked List-實作
下一篇
【Day6】[資料結構]-堆疊Stack-實作
系列文
資料結構與演算法,使用JavaScript與Python35

尚未有邦友留言

立即登入留言