基本觀念
堆疊(stack)是一種線性資料結構,而其中放入資料叫push由下往上堆放資料,讀取資料叫pop由上往下讀取,被讀取的資料就會從堆疊中移除,整個過程先進後出(first in last out)。就如同我們拿只有一個開口的桶子,先放進去的東西,因為被壓在下面,比較慢被取出來。詳見下圖

程式中遞迴式呼叫(recursive call),設計的原理就是用堆疊的資料結構,未來在講解遞迴的時候會再詳述。
資料堆入與讀取
資料堆入比較單純,就是單純地放入堆疊之中,要注意的是新放入的資料只能放在最上面,不能從中間插入,而讀取時也只能從最上方讀取,讀取後該資料會從堆疊內刪除,才能讀取下一個資料。
python實作
使用串列list模擬堆疊stack
fruits = []
fruits.append('apple')
fruits.append('guava')
fruits.append('banana')
print('目前的堆疊',fruits)
print('pop:',fruits.pop())
print('pop:',fruits.pop())
print('pop:',fruits.pop())
以下是輸出結果
