堆疊(Stack)是具有「後進先出(Last-In-First-Out)」特性的資料結構,日常生活中,常見的例子:

堆疊(Stack)的應用

●吃自助餐時取用疊好的盤子,必須先由最上面的盤子取用。

●要取用疊好的衣服,必須先取出要拿的衣服上層的衣服,才能拿到想要的衣服。

●一籃滿滿的水果,想要拿到底部的水果,必須由上而下取出。

●搭電梯時基於禮貌,也應該要後進先出,讓靠裡面的人出來。

●禮堂中層層疊好的椅子,取用時也必須從最上先取,才能取到下面的椅子。

●河內塔(Tower of Hanoil)遊戲

(可參考:https://zh.wikipedia.org/wiki/河內塔

【例】觀察軟體中(例如:Word)提供的「復原」和「取消復原」功能,也能表現堆疊的觀念。先被取消的動作,是最近被執行;要取消軟久以前執行的動作,得依序取消最近的動作。

堆疊(Stack)的應用

【例】使用瀏覽器上網也可以發堆疊的踪影,例如,回到上一頁,會依堆疊觀念來執行。

堆疊(Stack)的應用

【例】或者是你想要將一個字串反轉顯示,可以先輸入要反轉的字串,再逐一由字串的第一個字元到最後一個字元,取出放到記憶空間。 當全部放完時,再逐一將字元從堆疊中取出。

堆疊(Stack)的應用

【例】或是堆疊也可用來檢查運算式的左、右括弧是否對稱。當對運算式執行逐字掃描時,如果是左括弧,就將其放入堆疊中,若遇到右括弧時,就從堆疊中取出一左括弧。當運算試掃描完成後,如果堆疊內已沒有任何元素,則括弧是對稱的。

arrow
arrow
    文章標籤
    stack
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()