這種鏈表創建要注意鏈表是怎麼創建的,畫個流程圖更加清晰;
鏈表的創建在於上一個節點的next是下一個新節點
TYPE* create(int n) {
TYPE *head, *endp, *p1;
//head爲頭節點,endp爲尾節點,p1爲操作節點(當前節點)
head = endp = p1 = NULL;
//最開始時頭、尾、當前爲空
int i;
for (i = 0; i<n; i++) {
p1 = (TYPE*)malloc(sizeof(TYPE));
//開闢空間
if (i == 0)
head = endp = p1;
//將最開始的節點賦值給頭、尾
else {
endp->next = p1;
//上一個的尾結點的下一個節點爲新節點
endp = p1;
//尾節點轉化爲新的節點
}
}
endp->next = NULL;
//將最後的節點下一節點置爲空
return head;
}