雙向鍊錶的建立插入與刪除
/*注意因為建表時用了字元型資料所以輸入數字時只能輸0~9*/
#include#includetypedef struct node
node, *list;
list tailcreat(); //尾插法建立鍊錶
void insert(list head, int x, char value, int length);//向鍊錶特定位置插入乙個元素
void delete(list head, int x, int length); //刪除特定位置的元素
int length(list head); //鍊錶的長度
void print(list head); //輸出鍊錶
int main(void)
list tailcreat() //尾插法建立鍊錶
else
}return head;
}int length(list head) //鍊錶的長度
void insert(list head, int x, char value, int length)//向鍊錶特定位置插入乙個元素
else
w->pre = p->pre;
p->pre->next = w;
p->pre = w;
w->next = p; }}
void delete(list head, int x, int length) //刪除特定位置的元素
else
p->pre->next = p->next;
p->next->pre = p->pre;
free(p); }}
void print(list head) //輸出鍊錶
雙向迴圈鍊錶(建立 插入 刪除 遍歷)
author chen ming dong include include typedef struct list str int n str creat str head head prior p p next head return head 遍歷 void gothrough str head...
雙向鍊錶的建立 結點的插入 刪除與列印
1 雙向鍊錶的建立與單向鍊錶是類似的。其核心也是結點的記憶體申請以及結點間前後趨關係。建立如下雙鏈表 建立雙向鍊錶 pnode createdoublelist type val,int n head pre null head next null temp head for int i 0 ida...
雙向迴圈鍊錶的插入與刪除
關於解釋部分不再多說了,網上資料很多,下面就介紹具體的實現吧 雙向迴圈鍊錶的插入與刪除 typedef struct nodednode,dlinklist 在帶有頭結點雙向迴圈鍊錶中第1個資料域內容為x的結點右邊插入乙個資料資訊為item的新結點 void insert dlinklist lis...