雙鏈表相對於單鏈表來說,每乙個節點還存了乙個指向上乙個節點的指標,提公升了便捷性,例如某些情境下我們需要找到當前節點的上乙個節點等問題,雙鏈表對於單鏈表有很大的優勢。雙鏈表尾節點的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 物件導向 想要去英倫美帝學圖靈諾伊曼 怎麼編怎麼編離散數學是關鍵 怎麼編...