雙向帶頭鍊錶的增刪查改

2021-10-14 02:47:41 字數 1353 閱讀 4539

雙向帶頭鍊錶的增刪查改

雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鍊錶。

#define _crt_secure_no_warnings 1

#include

#include

#include

typedef

int datatype;

//雙向鍊錶的建立

typedef

struct listnode

listnode;

//節點的擴容

listnode*

listcreate

(datatype x)

//頭節點的建立(頭節點不儲存有效資料,為哨兵位節點)

listnode*

listinit()

//鍊錶銷毀

void

listdestory

(listnode* phead)

phead->next = phead;

phead->prev = phead;

}//鍊錶列印

void

listprint

(listnode* phead)

printf

("head");

printf

("\n");

}//尾插

void

listpushback

(listnode* phead, datatype x)

//尾刪

void

listpopback

(listnode* phead)

//頭插

void

listpushfront

(listnode* phead, datatype x)

//頭刪

void

listpopfront

(listnode* phead)

//中間插入

void

listinsert

(listnode* pos, datatype x)

//中間刪除

void

listerase

(listnode* pos)

void

test1()

intmain()

執行截圖如下

(兩個head實為乙個節點,為形象表示特地加上去的)

資料結構 實現帶頭雙向迴圈鍊錶增刪查改

初始化 listnode listinit clear鍊錶 void listclear listnode phead 摧毀鍊錶 void listdestroy listnode pphead 動態申請乙個節點 並返回指標 listnode buylistnode ltdatatype x 列印 ...

C語言 雙向帶頭迴圈鍊錶的增刪查改及優缺點

二 雙向帶頭迴圈鍊錶優缺點 鍊錶的結構有很多種,其中用的比較多的就是單向不帶頭不迴圈鍊錶和雙向帶頭迴圈鍊錶,這兩種鍊錶都有各自應用的場合。雙向帶頭迴圈鍊錶結構最複雜,一般用在單獨儲存資料。實際中使用的鍊錶資料結構,都是帶頭雙向迴圈鍊錶。今天就用c語言來實現一下帶頭雙向鍊錶的增刪查改。首先 來看一下雙...

鍊錶的增刪查改

include include typedef struct student stu,pstu void list head insert pstu pphead,stu pptail,int i 鍊錶為空,頭尾指標都指向新節點 else 新節點 pnext指向原本頭節點,新節點作為頭節點 void...