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



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

進(jìn)棧操作
我們插入一個(gè)元素20,效果如下圖

出棧操作
對(duì)于棧來(lái)說(shuō),出棧只能將棧頂元素刪除。因此,執(zhí)行一次出棧動(dòng)作,就會(huì)刪除掉棧頂元素20,效果如下圖

至此,棧的實(shí)現(xiàn)原理講解完畢
棧的優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
- 快速訪問
- 自動(dòng)管理,不需要程序員管理
- 空間被CPU高效管理,內(nèi)存不會(huì)變成碎片
缺點(diǎn)
- 只有局部變量
- 受限于棧的大小(取決于操作系統(tǒng))
- 變量不能調(diào)整大小
棧的作用
- 保存程序運(yùn)行現(xiàn)場(chǎng)/上下文
- 遞歸操作
- 保存臨時(shí)變量
效果展示

責(zé)任編輯:未麗燕
來(lái)源:
今日頭條





























