單鏈表的基礎操作 包括: 查詢、插入、刪除、建立鍊錶等。
以下直接用程式進行說明:
#include// malloc free 標頭檔案
#include
// 節點定義
typedef struct node
node;
// 查詢第乙個值為x的節點
node *serach(node *phead,int x)
// 在p節點之後進行插入
void insert(node *p,int x)
// 刪除 p->next節點
void deletefollownode(node *p)
}// 刪除 p節點
void delete(node *p,node *phead)
}
// 建立鍊錶, 新節點在插入到最前面
node* createlistahead(int a,int n)
return phead;
}// 建立鍊錶, 新節點在插入到末尾
node* createlisttail(int a,int n)
return phead;
}
//遍歷鍊錶
void print(node *h)
printf("\n");
}
//應用例項
void main()
; node *phead,*p;
phead=createlisttail(a,5);
print(phead);
p=serach(phead,4);
printf("%d\n",p->data);
p=phead->next->next;
insert(p,9);
print(phead);
p=phead->next->next->next;
delete(p,phead);
print(phead);
while(getchar()!='a')
;}
實現單鏈表的基礎操作
鍊錶 鍊錶是一種物理儲存結構上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈 接次序實現的 下面我們來看看單鏈表的實現 list.h pragma once include include include include 1 無頭單向非迴圈鍊錶增刪查改實現 typedef int ...
c 單鏈表基礎操作
最近開始刷leetcode,感覺自己的基礎太差,基本的鍊錶部分的問題都得想很久,今天花了乙個晚上的時間將鍊錶的基礎操作都實現了一遍,記錄一下自己的收穫 最大的是收穫的一句話 鍊錶的操作使用替身 替身其實就是類似指標的東西,但是我之前一直沒有想到這一點,導致思路堵塞 舉個例子 我要操作first,如遍...
單鏈表之基礎操作
ifndef linklist h define linklist h include include include typedef int datatype typedef struct listnode node,pnode,list,plist void initlinklist plist...