C語言 單鏈表的實現(簡單,有注釋)

2021-10-10 17:09:08 字數 2217 閱讀 6584

每乙個注釋均為除錯語句

實現了鍊錶相關的操作

如有問題,請指出,謝謝!

#include

#include

typedef

struct nodelnode,

*linklist;

intinit()

//採用頭插法建立鍊錶,如果使用頭插法建立鍊錶,那麼輸出與輸入是倒序的

lnode*

creat()

else

}return l;

//返回頭結點位置

}//採用尾插法建立鍊錶

lnode*

creat1()

else

}//尾插法插入完之後要置空

return l;

}//求鍊錶長度

intlength

(linklist l)

printf

("count=%d\n"

,count-1)

;//從頭結點開始計算的,因此需要count-1 ;或者一開始就將l=l->next;

return count-1;

}//列印鍊錶

void

print

(linklist l)

}//按值查詢表節點

linklist locate

(linklist l)

else

break;}

return l;

}//按序號進行查詢

linklist get

(linklist l)

printf

("找到該序號對於的元素:%d\n"

,p->data)

;return p;

}//插入某個結點

lnode*

insert

(linklist l)

else

//第三步找到插入位置之後,進行插入。

s=(linklist)

malloc

(sizeof

(lnode));

s->next=l->next;

l->next=s;

s->data=e;

printf

("插入之後的個數為:");

length

(p);

}return p;

//返回頭結點的位置

}//刪除某個結點

linklist del

(linklist l)

while

(p!=

null

&&k// while(s!=null&&j//

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

s=p->next;

p->next=s->next;

free

(s);

return l;

} linklist des

(linklist l)

//摧毀整個單鏈表的時候,要逐個釋放結點空間

printf

("摧毀成功咯\n");

l=null

;printf

("%d\n"

,l);

//除錯

return l;

}int

main()

}// int count=0,i;

//p=creat1();

//p=p->next;

// a=p;

// int k;

// k=length(p);

// print(p);

// insert(p);

// print(p) ;

// locate(p);

// get(p);

// del(p);

// print(p) ;

//此處我將列印鍊錶和將鍊錶求長度轉化成了函式,簡化main函式體。

// while(p!=null)

// // printf("count=%d\n",count);

//注意,我在這裡犯錯:我沿用while(p!=null)想列印鍊錶,結果剛剛用count去計數的時候,指標p已經走到末尾了,然後你去判斷p!=null得到false,直接跳出;

// printf("建立好的鍊錶為:");

// while(a!=null)

//

}

C 語言單鏈表的實現(簡單實現)

簡單的實現單鏈表的增刪遍歷操作,還有一些功能需要實現。我感覺難理解的時候畫圖來搞清楚邏輯,先畫個圖比劃就行。author gong single linked list 增 刪 遍歷 include include 從新定義節點的資料域資料型別,以後好修改具體的鍊錶 typedef int data...

用C語言簡單實現單鏈表

typedef struct node node,list 單鏈表的初始化 void initlist list plist plist next null 單鏈表的頭插法 該方法從乙個空鍊錶開始,讀取元素val,生成新的結點,將讀取的資料放到新結點的資料域中,然後將該新結點插入到當前鍊錶的表頭上。...

1 單鏈表 c實現 詳細注釋

include include include 建立單鏈表的成員 其實就是結點 link p p就是乙個結點 typedef struct link link link 為這個結構體的別名 初始化鍊錶 link initlink return p 鍊錶的基本操作 對鍊錶進行插入 link inser...