鏈表創建之有頭節點空

這種鏈表創建要注意鏈表是怎麼創建的,畫個流程圖更加清晰;
鏈表的創建在於上一個節點的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;
}
發佈了43 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章