Stack

(一)堆疊的基礎

「堆疊」屬於一種擁有特定進出規則的線性串列 結構,如同在餐廳廚房的工人清洗餐盤,將洗好 的餐盤疊在一起,每一個洗好的餐盤放在這疊餐 盤的頂端,如下圖所示:

(二)堆疊的基礎操作

push():將資料存入堆疊,在堆疊的頂端新增資料。

pop():從堆疊取出資料,每執行一次,就從頂端取出一個資料。

isStackEmpty():檢查堆疊是否是空的,以便判斷是否還有資料可以取出。

(三)堆疊的基礎特性

堆疊的資料因為是從頂端一一存入,堆疊內容是依序執行push(1)、push(2)、push(3)、push(4)和push(5)的結果,接著從堆疊取出資料, 依序執行pop()取出堆疊資料,如下所示:

pop():5,pop():4,pop():3,pop():2,pop():1

取出的資料順序是5、4、3、2、1,可以看出其順序和存入時相反,稱為「先進後出」的特性。堆疊擁有的特性,如下所示:

只允許從堆疊的頂端存取資料。

資料存取的順序是先進後出,也就是後存入堆疊的資料,反而先行取出。

回首頁