雙向鍊錶筆記

2022-07-30 15:18:15 字數 876 閱讀 9883

雙向鍊錶增刪,準備未來複習自己用

#include using

namespace

std;

typedef

struct

node

node;

///測試雙向鍊錶

void showlink(node *p)

puts(

"");

}///

雙向鍊錶插入

void addnode(node *head,node *tail)

///在中間新增

while

(p)

p=p->next->next;///

新增x後,p要跳過新增的x否則在加的x後加x而死迴圈。正常只需乙個next}}

///刪除節點

void delnode(node **head,node **tail)

puts(

"請輸入刪除結點的數值:");

scanf("%d

",&x);

///刪除頭結點

if((*head)->data==x)

///刪除尾結點

if((*tail)->data==x)

///刪除中間結點

while

(q)

else

}}int

main()

else

}//showlink(tail);

//addnode(head,tail);

delnode(&head,&tail);//

刪除頭結點,尾結點需要改變頭尾指標所以用雙重指標

showlink(head);

return0;

}

核心雙向鍊錶筆記

遇到乙個這個樣的定義static list create table done list 居然沒有宣告table done list 這個變數 跟蹤 define list create name struct list name list init name 可以看到list create是乙個巨...

C語言 鍊錶筆記

我們至少可以用兩種方式儲存資料 1 陣列 優點 儲存速度快 缺點 需要乙個連續的很大的記憶體 插入和刪除元素的效率很低。陣列每個單元只儲存元素的實際值 2 鍊錶 優點 插入刪除元素的效率高 不需要乙個連續大的記憶體 缺點 查詢元素效率低 鍊錶每個單元分兩部分,左邊儲存實際元素值,右邊儲存下乙個元素的...

c 語言鍊錶 筆記

鍊錶初始化時需要二級指標 此處的二級指標即,pphead指向phead指向的值 nodetype phead null crealist phead 傳位址 static void crealist nodetype pphead nodetype phead null crealist phead...