以前參照weiss的《資料結構與演算法分析》寫過兩篇隨筆
因為考研的緣故,現在看了嚴蔚敏的《資料結構 c版》也跟著寫了一遍,原理都類似
鏈棧:
/*view code鏈棧*/
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)
順序棧:
#define stack_init_size 100;view code#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)
差別:相同點:
棧的實現 順序棧和鏈棧
本文主要給出我對棧的實現,包括順序棧和鏈棧兩種實現方式。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...