- 單向鏈表設(shè)計(jì)上通過(guò)指針next進(jìn)行搜尋下面的目標(biāo);
- 遍歷時(shí)通過(guò)null作為退出的條件错览;
- 設(shè)計(jì)鏈表時(shí)档押,通過(guò)設(shè)計(jì)tmp = null作為搜尋next的媒介,核心思想是 : 先將參數(shù)寫(xiě)入tmp->next锅论,再更新tmp為ext讼溺,從而再相鄰周期完成next的賦值和更新;
//聲明節(jié)點(diǎn)結(jié)構(gòu)
typedef struct Link {
int elem;//存儲(chǔ)整形元素
struct Link *next;//指向直接后繼元素的指針
}link;
//創(chuàng)建鏈表的函數(shù)
link * initLink() {
link * p = (link*)malloc(sizeof(link));//創(chuàng)建一個(gè)頭結(jié)點(diǎn)
link * temp = p;//聲明一個(gè)指針指向頭結(jié)點(diǎn)最易,用于遍歷鏈表
int i = 0;
//生成鏈表
for (i = 1; i < 5; i++) {
//創(chuàng)建節(jié)點(diǎn)并初始化
link *a = (link*)malloc(sizeof(link));
a->elem = i;
a->next = NULL;
//建立新節(jié)點(diǎn)與直接前驅(qū)節(jié)點(diǎn)的邏輯關(guān)系
temp->next = a;
temp = temp->next;
}
return p;
}
reference
- 鏈表的基本操作(C語(yǔ)言)詳解