資料結構之棧

2021-10-06 12:32:08 字數 818 閱讀 9906

1.1,棧的特點

棧(stack)是一種線性儲存結構,它具有如下特點:

1.2,棧的相關概念

棧的相關概念:

棧頂與棧底:允許元素插入與刪除的一端稱為棧頂,另一端稱為棧底。

壓棧:棧的插入操作,叫做進棧,也稱壓棧、入棧。通常命名為push。

彈棧:棧的刪除操作,也叫做出棧。通常命名為pop。

例如我們有乙個儲存整型元素的棧,我們依次壓棧:

在壓棧的過程中,棧頂的位置一直在」向上「移動,而棧底是固定不變的。

如果我們要把棧中的元素彈出來:

出棧的順序為3、2、1 ,順序與入棧時相反,這就是所謂的」先入後出「。

在彈棧的過程中,棧頂位置一直在」向下「移動,而棧底一直保持不變。

如果你玩過一種稱為漢諾塔的益智玩具,你就會知道遊戲中小圓盤的訪問就是一種先進後出的順序,乙個圓柱就是乙個棧:

1.3,棧的操作

棧的常用操作為:,

彈棧,通常命名為pop

壓棧,通常命名為push

求棧的大小

判斷棧是否為空

獲取棧頂元素的值

資料結構之棧結構

棧結構是一種filo first in last out 的批量資料儲存結構。其特點是先進後出,後來者居上 棧的基本屬性 棧記憶體 棧頂標記 棧的當前元素個數 萬金油屬性 size 棧的基本操作 萬金油的的操作 根據實現的不同將棧結構分為兩種 1.鏈式棧 2.陣列 利用有表頭鍊錶的頭插法來完成棧的功...

資料結構之棧

4.8.2 四則運算表示式求值 程式如下所示 include include include 定義結點型別 typedef struct node node,pnode 定義棧的抽象資料型別 typedef struct stack stack,pstack 函式宣告 對棧進行初始化的函式 void...

資料結構之棧

資料結構之棧 本文討論棧的陣列實現。棧需要有如下幾個屬性 棧的容量 capacity 棧頂指標 儲存棧元素的陣列 根據這幾個屬性可以定義乙個棧結構體 struct stackrecord 然後定義棧的操作,一般可以包含如下幾個 棧的建立 stack createstack int size 棧的銷毀...