## 資結筆記|堆疊(Stack) ### 複習   上次提到了[佇列(queue)](https://hackmd.io/@fooox0864/SyePDfLwye)這個資料結構,如果還沒看或感興趣的讀者可以去看看唷! <br/> ### 基本觀念   <font color="#0000FF">堆疊</font>(stack)是一種線性資料結構,而其中放入資料叫<font color="#0000FF">push</font>由下往上堆放資料,讀取資料叫<font color="#0000FF">pop</font>由上往下讀取,被讀取的資料就會從堆疊中移除,整個過程<font color="#0000FF">先進後出</font>(first in last out)。就如同我們拿只有一個開口的桶子,先放進去的東西,因為被壓在下面,比較慢被取出來。詳見下圖    程式中遞迴式呼叫(recursive call),設計的原理就是用堆疊的資料結構,未來在講解遞迴的時候會再詳述。 <br/> ### 資料堆入與讀取   資料堆入比較單純,就是單純地放入堆疊之中,要注意的是新放入的資料只能放在最上面,不能從中間插入,而讀取時也只能從最上方讀取,讀取後該資料會從堆疊內刪除,才能讀取下一個資料。 <br/> ### 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()) ``` 以下是輸出結果 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up