iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0
佛心分享-IT 人自學之術

菜雞學習資料結構的 30 日讀書分享系列 第 22 篇

菜雞學習資料結構的 30 日讀書分享【Day 22】

  • 分享至 

  • xImage
  •  

堆疊與佇列

堆疊的定義: 類似彈匣中的子彈一樣先進去,卻要後出來,反之則是後進去可以先出來的。

在軟體應用中,堆疊這種後進先出的資料結構應用是非常普遍的。

例如使用瀏覽器上網時,不管甚麼瀏覽器都有一個後退鍵,點擊後可以按順序存取的反向載入瀏覽過的網頁。

很多類似的軟體,例如 Word、PhotoShop 等文件或是影像編輯軟體中,都有取消 (undo) 的操作,也都是用堆疊這種方式來實現的,當然不同的軟體操作方式會有很大的差異,不過原理其實都是相同的。

堆疊 (stack): 是限定僅在串列尾進行插入和刪除操作的線性串列。

我們把允許插入和刪除的一端稱為堆疊頂 (top),另一端稱為堆疊底 (bottom),不含任何資料元素的堆疊稱為空堆疊。

堆疊又稱為後進先出 (Last In First Out) 的線性串列,簡稱 LIFO 結構。

換句話說,堆疊就像是「後進先出(LIFO)」的彈匣,只允許在同一端(堆疊頂)進行資料的插入與刪除,像是瀏覽器的上一頁或編輯軟體的取消動作都是靠它來實現的。

今日的分享就到這囉,我們明天見,掰掰!


上一篇
菜雞學習資料結構的 30 日讀書分享【Day 21】
下一篇
菜雞學習資料結構的 30 日讀書分享【Day 23】
系列文
菜雞學習資料結構的 30 日讀書分享 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言