棧的基本概念
棧的定義
棧是一種只能在一端進行插入或刪除的線性表。其中插入被稱作進棧,刪除被稱作出棧。
允許進行插入或刪除操作的一端被稱為棧頂,另一段被稱為棧底,棧底固定不變。其中,棧頂由一個稱為棧頂指針的位置指示器來指示。
(PS:棧頂指針並非傳統意義上的指針,比如順序棧用的是一個整型變量來指示,但是我們依然稱其為棧頂指針)
棧的特點
- 先進后出
棧的數學結構
當n個元素以某種順序進棧,並且在滿足先進后出的前提下可任意時刻出棧,所獲得的元素排列數目滿足函數 Catalan( )的計算,即:
當然你也可以得到化簡形式
棧的儲存結構
- 順序棧
- 鏈棧
(PS:棧是一種稍加限制的線性表,因此順序棧與鏈棧就類似於順序表和鏈表)