雙向鍊錶增刪,準備未來複習自己用
#include usingnamespace
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...