順序棧和鏈棧實現

2022-05-16 19:56:04 字數 957 閱讀 8518

以前參照weiss的《資料結構與演算法分析》寫過兩篇隨筆

因為考研的緣故,現在看了嚴蔚敏的《資料結構 c版》也跟著寫了一遍,原理都類似

鏈棧:

/*

鏈棧*/

typedef status

typedef

struct

node stack;

typedef

struct node *ptrtonode;

struct

node

;status initstack(stack &s)

status gettop(stack &s, struct node &e)

status push(stack &s, int

e) int stackempty(stack &s)

status pop(stack &s, int &e)

view code

順序棧:

#define stack_init_size 100;

#define increment 10;

struct

node;//

struct的申明方式

typedef struct

node selementtype;

typedef

struct

sqstack;

status initstack(sqstack &s)

status gettop(sqstack &s,selementtype &e)

status push(sqstack &s,selementtype e)

*s.top++ =e;

return

ok;}

status pop(sqstack &s,selementtype &e)

view code

差別:相同點:

棧的實現 順序棧和鏈棧

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

C 實現順序棧和鏈棧

順序棧和鏈棧分別類似於順序表和單鏈表,只是由於棧的first in last out性質,其操作相對簡單,是順序表和單鏈表的子集。鏈棧中的鏈不使用head屬性,這一屬性是多餘的,使用鏈棧類的topnode屬性即可。另外,為了避免每次返回鏈棧的長度都要遍歷所有結點,在鏈棧類中增加num屬性,push操...

C 實現順序棧和鏈棧

二,順序棧的實現 三,鏈棧的實現 棧的初始化 template typename t bool stack isempty 判斷棧是否為空 template typename t int stack getlength 獲得棧中資料元素的個數 template typename t int stac...