c語言實現雙向鍊錶

2021-08-26 20:18:09 字數 609 閱讀 3830

單向鍊錶有一定的缺陷,其中乙個就是只能一條路走到黑,只能前進不能後退,但雙向鍊錶就解決了這一問題

#include #include typedef struct node

node,*linklist;

void create_list_tail(linklist *l)//頭插法建立

}void create_list_head(linklist *l)//頭插法建立

p->next=null;

}void delete_list(linklist *l)//

p->prior->next=p->next;

p->next->prior=p->prior;

}void insert_list(linklist *l)//插入操作

r->data=x;

r->prior=p;

r->next=p->next;

p->next->prior=r;

p->next=r;

}void print_list(linklist *l)

}int main()

其他功能可以根據上述**修改實現,與單向鍊錶操作差不多

雙向鍊錶C語言實現

ifndef stdlist h define stdlist h typedef struct tagstdnode stdnode,lpstdnode typedef struct tagstdlist stdlist,lpstdlist 鍊錶資料結構 struct tagstdnode 鍊錶節...

C語言實現雙向鍊錶

1.定義兩個結構體,乙個表示鍊錶的乙個單元,另乙個表示鍊錶的頭結點 2.鍊錶的初始化 必須讓頭結點的next和prev指向自己 清除 不刪除頭結點 銷毀 刪除頭結點 3.增操作 每次增加需要開闢乙個單元,所以直接建立乙個函式用來建立單元 頭插 尾插 pos結點之前插 4.刪操作 分為三種 刪除pos...

C語言實現雙向鍊錶

linklist.h ifndef linklist h define linklist h 節點 包含前置指標和後置指標 struct listnode struct list define listnextnode x x x next null define listhead x x x he...