1. 程式人生 > >棧的後進先出特性

棧的後進先出特性

棧,英文stack,特性是“先進後出”(很自然也就“後進先出”了),即First In Last Out,所以也稱為Filo;就如樓上所說,倉庫是個例子,再給你個更形象的例子,桶裝薯片肯定吃過吧,假設薯片是機器一個一個放進去的,你吃的第一個薯片肯定是最後放進去的(後進先出),而你吃的最後一片才是第一個放進薯片桶的(先進後出);由於棧的這種特性,可以暫時儲存資料並以Filo的方式讀取,所以是一個常用的資料結構並且可以在某些演算法中提高效率。
於此對應的是佇列,英文queue,特性相反,為“先進先出”(自然後進後出了),First In first Out,固又名Fifo,就像你排隊一樣,先到先得,比如洗車通道,先進去的車,會先從出口出來,最後進的最後洗完。也是一種資料結構,可以提高效率。