(一)堆疊的基礎
「堆疊」屬於一種擁有特定進出規則的線性串列
結構,如同在餐廳廚房的工人清洗餐盤,將洗好
的餐盤疊在一起,每一個洗好的餐盤放在這疊餐
盤的頂端,如下圖所示:
(二)堆疊的基礎操作
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,可以看出其順序和存入時相反,稱為「先進後出」的特性。堆疊擁有的特性,如下所示:
只允許從堆疊的頂端存取資料。
資料存取的順序是先進後出,也就是後存入堆疊的資料,反而先行取出。