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. 雙免費在ARC
- 8. 單向鏈表到雙向鏈表
- 9. 向量的雙鏈表列指針雙向鏈接列表
- 10. C++雙向鏈表
- 11. 反向雙向鏈表
- 12. 反向雙向鏈表
- 13. 循環雙向鏈表和尾指針雙向鏈表
- 14. 雙免費()或損壞:C++
- 15. 雙免費電話號碼
- 16. 雙免費或功能
- 17. C雙免費問題
- 18. 雙向鏈表的大小
- 19. C中的雙向鏈表
- 20. 排序的雙向鏈表
- 21. 雙向鏈表的大小
- 22. 免費的循環鏈接列表
- 23. 程序結束時沒有免費的雙免費或腐敗
- 24. C++不同免費訂單的雙重免費錯誤
- 25. 理解雙向鏈表循環鏈表
- 26. 雙向鏈表循環鏈表
- 27. 雙向鏈表的反向部分
- 28. 在c中免費鏈接列表
- 29. 試圖'免費'在C鏈接列表
- 30. 雙免費或腐敗錯誤發生時,免費呼叫c
請管好你的拼寫和格式。這個網站比「普通論壇」在這方面更爲嚴肅和苛刻。 – AttishOculus 2009-12-11 07:09:07
另外,其他用戶會經常停下來並更正拼寫和格式。 :) – 2009-12-11 07:11:48