堆疊(Stack)是資料結構的一種,是一種很基本常見的資料結構,
假設你有一些書把他們疊起來,一層一層的往上疊,所以每次新的書本會放在最上面,而當想要拿取書本的時候,也是從最上面的開始拿。
當然現實生活會有可能從中間抽出書本,不過在程式中是不可以的,
所以他是一種後進先出(Last-In-First-Out, LIFO)的排程,而在此資料結構中至少會實作兩個操作:
1.push:將資料放入堆疊頂端
2.pop:取出堆疊頂端之資料
有時候也會多實作一些額外的操作以方便使用,例如:
1.peek:看堆疊頂端的資料而不取出。
2.size:取得堆疊的數目。