一個鏈表不知道頭結點,有一個指針指向其中一個結點,請問如何刪除這個指針指向的結點。

1.若果知道鏈表頭結點,一般都是通過遍歷找到該結點p和前一個結點q後,斷開p結點,連接q->next=p->next,釋放free§;
2.沒有給出頭結點,但將p後一節點q中的數據賦值給p結點,再釋放q結點,也相當於刪除p結點

NODE* p;//爲當前要刪除結點
NODE* q = p->next;//p結點的後一節點
p->data = q->data;//數據賦值
p-next = q->next//斷開q結點,後連接p與q的後一個結點
free(q);//釋放q結點空間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章