0
可能重複:
Deleting a middle node from a single linked list when pointer to the previous node is not available刪除在鏈表節點不知道的鏈表頭
刪除節點的簽名被給定爲無效刪除(結構節點* nodeToBeDeleted);未提供鏈接列表的頭部 。有什麼辦法可以刪除nodeToBeDeleted節點嗎?
可能重複:
Deleting a middle node from a single linked list when pointer to the previous node is not available刪除在鏈表節點不知道的鏈表頭
刪除節點的簽名被給定爲無效刪除(結構節點* nodeToBeDeleted);未提供鏈接列表的頭部 。有什麼辦法可以刪除nodeToBeDeleted節點嗎?
將下一個節點的數據複製到當前節點。
現在包含當前節點的數據的下一個節點變爲要被刪除的節點。
下一個當前節點設置爲下一個下一個節點。
代碼段
void delete(struct node *nodeToBeDeleted)
{
struct node *nextNode;
if(nodeToBeDeleted == NULL)
{
return;
}
nextNode = nodeToBeDeleted ->next;
nodeToBeDeleted ->data = nextNode->data;
nodeToBeDeleted->next = nextNode->next;
delete nextNode;
return;
}
這裏有幾個非常類似的問題:http://www.google.ca/search?q=delete+node+from+linked+list+site%3Astackoverflow.com –