Q
免費的雙向鏈表
1
A
回答
4
你必須釋放每個節點。如果您只將頭節點和尾節點設置爲NULL,則會泄漏爲該列表分配的所有內存。
8
您必須遍歷列表並釋放每個節點。如果您只將頭指針和尾指針設置爲NULL,則列表節點仍然在堆中,並且您沒有指向它們的指針,這是一個典型的內存泄漏。
下面是一些僞代碼:
Node* current = head;
while(current != NULL) {
Node* next = current->Next;
free(current);
current = next;
}
// done
你可以爲尾部頭當然遍歷的 - 沒有任何主要的區別。
7
如果它們是動態分配的,則需要釋放這些節點。請記住,如果您的節點持有指向某些數據的指針,並且該數據也是動態分配的,則您也需要釋放該數據。
喜歡的東西:
list_node* node = head;
while (node)
{
/* depends */
/* free(node->data); */
list_node* next = node->next;
free(node);
node = next;
}
相關問題
- 1. 免費商店的雙鏈表
- 2. 雙向鏈表
- 3. 雙免費問題
- 4. 單向鏈表到雙向鏈表
- 5. 向量的雙鏈表列指針雙向鏈接列表
- 6. 反向雙向鏈表
- 7. 雙向鏈表的大小
- 8. 排序的雙向鏈表
- 9. 雙免費電話號碼
- 10. 雙免費或功能
- 11. C雙免費問題
- 12. 雙免費()或損壞:C++
- 13. C++不同免費訂單的雙重免費錯誤
- 14. 程序結束時沒有免費的雙免費或腐敗
- 15. 理解雙向鏈表循環鏈表
- 16. 雙向鏈表循環鏈表
- 17. 雙向鏈表的反向部分
- 18. C交換雙向鏈表
- 19. 雙向鏈表C++用類
- 20. 雙向鏈接列表
- 21. 雙向鏈表java刪除
- 22. 單VS雙向鏈表
- 23. 在C#反雙向鏈表
- 24. 內C - 雙向鏈表
- 25. 關於雙向鏈表
- 26. 變換雙向鏈表
- 27. 雙向鏈表 - 段錯誤
- 28. 蟒蛇雙向鏈表類
- 29. 雙向鏈表實現
- 30. C,雙向鏈表問題
請管好你的拼寫和格式。這個網站比「普通論壇」在這方面更爲嚴肅和苛刻。 – AttishOculus 2009-12-11 07:09:07
另外,其他用戶會經常停下來並更正拼寫和格式。 :) – 2009-12-11 07:11:48