鏈棧的實現

2021-08-29 18:40:54 字數 527 閱讀 8308

typedef int elemtype;

typedef struct stacknodestacknode,*linkstack;

鏈棧的實現是先定義乙個結點指標,使其為null。這個作為判斷是否空棧的標誌。

鏈棧的空棧借助乙個空指標,只要棧頂指標指向這個空指標就說明是空棧。

鏈棧的實現是申請一塊空間,將其連在原來棧頂的前面,作為新的棧頂。由此可見鏈棧可以入棧是不用考慮是否棧滿。

由此可見,我們只需要記錄鏈棧的棧頂指標就可以。每次對棧進行操作是只需要傳入棧頂指標就可以。

1、鏈棧的建立

linkstack initstack()
2、鏈棧的入棧

linkstack push(linkstack s,elemtype e)
3、鏈棧的出棧

4、取鏈棧的棧頂元素

elemtype gettop(linkstack s)

鏈棧的實現

解釋 由於鍊錶有頭指標,而棧也必須有頭指標,所有合二為一 鏈棧為空的條件為頭指標為空,頭指標儲存在乙個新的結構體中。儲存空間初始分配量 typedef int selemtype typedef int status typedef struct stacknode stacknode,linkst...

棧和鏈棧的實現

1 棧的實現 建立乙個簡單的棧 include include typedef struct stack stack void initialize stack void add stack int delete s stack void initialize stack stack void ad...

棧的實現 順序棧和鏈棧

本文主要給出我對棧的實現,包括順序棧和鏈棧兩種實現方式。common.h ifndef common h define common h 函式結果狀態碼 define true 1 define false 0 define ok 1 define error 0 define infeasible...