1. 程式人生 > >05-看圖理解資料結構與算法系列(基於陣列的棧)

05-看圖理解資料結構與算法系列(基於陣列的棧)

棧是一種線性儲存結構且運算受限的線性表,它的插入和刪除運算操作被限制在表的一端,該端稱為棧頂,而另外一端則稱為棧底。

棧中的資料以後進先出(Last In First Out 即LIFO)方式進出棧。

棧的實現

棧的實現方式有多種方式,主要是使用不同的結構來儲存棧元素,比如使用陣列、單向連結串列、雙向列表等。這裡看陣列方式的實現。

實現的主要三要素是陣列、當前棧頂下標以及棧操作集。陣列用於存放元素,當前棧頂下標用於指引操作的位置,棧核心操作為push和pop,即進棧和出棧。棧存放的元素不能超過陣列的長度。

 

image

 

push

"the","monster","is","coming"

四個字串分別進行 push 操作,

 

image

 

 

image

 

 

image

 

 

image

 

pop

對棧中進行兩次 pop 操作,

 

image

 

 

image

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

作者:超人汪小建
連結:https://juejin.im/post/5b6502a3f265da0f9313c409
來源:掘金
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。