堆疊的特徵
堆疊(Stack)是一種線性儲存結構,它具有以下特點:
堆疊中的資料元素遵守」後進先出」(First In Last Out)的原則,簡稱FILO結構。
限定只能在堆疊頂部進行插入和刪除操作。
堆疊的相關概念:
堆疊頂與堆疊底:允許元素插入與刪除的一端稱為棧頂,另一端稱為棧底。
壓棧:堆疊的插入操作,叫做進棧,也稱為壓棧、入棧。
彈棧:堆疊的刪除操作,也叫做出堆疊。
例如我們有一個儲存整數元素的棧,我們依序壓棧:{1,2,3}
##在壓棧的過程中,棧頂的位置一直在」向上「移動,而棧底是固定不變的。 如果我們要把堆疊中的元素彈出來:出棧的順序為3、2、1 ,順序與入棧時相反,這就是所謂的」先入後出“。
在彈棧的過程中,堆疊頂部位置一直在」向下「移動,而堆疊底部一直保持不變。 如果你玩過一種稱為漢諾塔的益智玩具,你就會知道遊戲中小圓盤的訪問就是一種先進後出的順序,一個圓柱就是一個棧:堆疊的操作
堆疊的常用操作為:彈棧,通常命名為pop壓棧,通常命名為push求堆疊的大小判斷堆疊是否為空取得堆疊頂部元素的值堆疊的儲存結構
堆疊既然是一種線性結構,就能夠以陣列或鍊錶(單向鍊錶、雙向鍊錶或循環鍊錶)作為底層資料結構。以上是堆疊的特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!