可視化動圖帶你一步步講解棧有什么用
作者:多米學算法
棧(stack)是限定僅在表尾(即棧頂)進行插入和刪除操作的線性表。對于棧來說,出棧只能將棧頂元素刪除。因此,執行一次出棧動作,就會刪除掉棧頂元素20。
前言



概念介紹
- 棧(stack)是限定僅在表尾(即棧頂)進行插入和刪除操作的線性表
- 棧的2種操作方式
- 插入操作,叫做進棧,也叫壓棧、入棧
- 刪除操作,叫做出棧,也叫彈棧
- 棧的2種存儲方式
- 順序存儲
- 鏈式存儲
原理講解
當棧中只有9和12這2個元素時,效果如下圖

進棧操作
我們插入一個元素20,效果如下圖

出棧操作
對于棧來說,出棧只能將棧頂元素刪除。因此,執行一次出棧動作,就會刪除掉棧頂元素20,效果如下圖

至此,棧的實現原理講解完畢
棧的優缺點
優點
- 快速訪問
- 自動管理,不需要程序員管理
- 空間被CPU高效管理,內存不會變成碎片
缺點
- 只有局部變量
- 受限于棧的大小(取決于操作系統)
- 變量不能調整大小
棧的作用
- 保存程序運行現場/上下文
- 遞歸操作
- 保存臨時變量
效果展示

責任編輯:未麗燕
來源:
今日頭條