棧ADT的鍊錶實現

2022-05-16 20:00:33 字數 655 閱讀 1782

/*

棧adt鍊錶實現的型別宣告

*/struct

node;

typedef

struct ndoe *ptrtonode;

typedef ptrtonode stack;

struct

node;

/*測試是否為空棧

*/int

isempty( stack s )

/*建立空棧

*/stack

createstack(

void)/*

清空棧

*//*

直接刪除鍊錶與無數次pop異曲同工

*/void

makeempty( stack s)}/*

書上的實現方法

*/void

makeempty( stack s )}/*

pop 例程

*/void

pop( stack s )

/*push 進棧操作

*/void

push( stack s, elementtype x )}/*

返回棧頂元素

*/elementtype

top( stack s )

view code

鍊錶ADT實現

鍊錶煉表有一系列不必再記憶體中連續的結構組成,不需要使用位址連續的儲存單元。它是通過 鏈 來建立邏輯關係的,因此在對鍊錶進行插入,刪除操作時不需要移動元素,而只需要修改指標即可。鍊錶分類 按是否包含指向前繼的指標可分為單鏈表和雙向鍊錶 按是否成環狀可以分為迴圈鍊錶和非迴圈鍊錶。由於連表示離散的分布在...

鍊錶ADT實現 C語言 2018 3 11

include include define name to str name name 定義結點及結構體指標,結構體指標linklist為煉表頭結點指標 typedef struct lnodelnode,linklist 結構體指標 初始化鍊錶 lnode init ll 在第pos個結點之前插...

棧的鍊錶實現

鏈棧結構如下圖所示 len用來儲存棧中元素個數 圖示 當鍊表為空時,即棧為空棧時插入情況 圖示 非空時插入 圖示 彈出棧頂 構造乙個空戰 status initstack slinklist s s len 0 棧元素長度初始化為0 s head next null 初始為空鍊錶 return ok...