雙鏈表(c語言版)

2021-08-19 03:34:50 字數 1167 閱讀 8207

雙鏈表相對於單鏈表來說,每乙個節點還存了乙個指向上乙個節點的指標,提公升了便捷性,例如某些情境下我們需要找到當前節點的上乙個節點等問題,雙鏈表對於單鏈表有很大的優勢。雙鏈表尾節點的prev指標指向頭節點,故雙鏈表的頭節點為哨兵衛,不存資料,僅作為標記作用。當單鏈表為空時,僅存在乙個頭節點,next指標與prev指標均指向自己。故雙鏈表不可能為空。

以下將給出雙鏈表的實現**。

typedef struct dlistnode

dlistnode;

建立乙個雙鏈表的節點

dlistnode* buydlistnode(datatype x)

鍊錶初始化
dlistnode* dlistinit()

銷毀鍊錶
void dlistdestory(dlistnode** head)

}

列印鍊錶
void dlistprint(dlistnode* head)

}

尾插
void dlistpushback(dlistnode* head, datatype x)

尾刪
void dlistpopback(dlistnode* head)

頭插
void dlistpushfront(dlistnode* head, datatype x)

頭刪
void dlistpopfront(dlistnode* head)

查詢
dlistnode* dlistfind(dlistnode* head, datatype x)

pos = str;

return pos;

}

pos位置插入

void dlistinsert(dlistnode* pos, datatype x)

pos位置刪除

void dlisterase(dlistnode* pos)

C語言版本 雙鏈表的實現

dlist.h 1 ifndef dlist h 2 define dlist h 34 include5 include 6 include7 typedef int elemtype 8 typedef struct node node,pnode 13 typedef struct list ...

C語言版掃雷

用c語言實現掃雷,首先應該有基本的思路,建立兩個相同大小的陣列,乙個用於布雷 初始化為全0,布雷時將雷置為1 另乙個給使用者展示 初始化為星號,使用者輸入座標後統計周圍雷的分布並列印雷的個數 由於需要統計每個座標周圍類的個數,所以將陣列建立大一圈,以方便統計。若輸了,列印出雷陣告訴玩家雷的分布。具體...

雙截棍 C語言版

雙截棍c 語言版 軟考室的菸味瀰漫坐滿了程式設計師 室裡面的監考官係分已三年 出上午試題的老師練cpu 耍微控制器 硬體功夫最擅長還會邏輯門三極體 他們學生我習慣從小就耳濡目染 什麼軟體跟網路我都耍的有摸有樣 什麼語言最喜歡c 物件導向 想要去英倫美帝學圖靈諾伊曼 怎麼編怎麼編離散數學是關鍵 怎麼編...