0
A
回答
3
任何一種順序都是可能的 - 唯一可以確定的方法是檢查您使用的具體實現。
一般來說,對於一個單向鏈表,我希望第一個到最後一個排序,因爲它更容易實現,有點更有效:
LinkedList::~LinkedList()
{
Node *node = mHead;
while (node) {
Node *next = node->mNext;
delete node;
node = next;
}
}
對戰最後到第一排序,這對於一個單向鏈表通常需要某種形式的遞歸:如此反覆
void deleteList(Node *node)
{
if (node == 0) {
return;
}
deleteList(node->mNext);
delete node;
return;
}
LinkedList::~LinkedList()
{
deleteList(mHead);
}
- 可以肯定的唯一方式是看你的鏈接列表實現。
1
我想,因爲編譯器讀取代碼。從上到下,析構函數從第一個到最後一個刪除。你甚至可以使用{} |以確保在通常發生之前重新分配內存。
相關問題
- 1. 鏈表節點的析構函數
- 2. featureFormat()函數刪除了一些點?
- 3. java刪除節點鏈表
- 4. 雙鏈表:刪除節點
- 5. Maya:刪除節點不直接調用析構函數
- 6. 刪除鏈表的節點在遞歸函數
- 7. 在析構函數中刪除IBuffers
- 8. 刪除[]析構函數
- 9. 如何從鏈表中刪除節點?
- 10. 刪除鏈接列表中的節點
- 11. 從鏈接列表中刪除節點
- 12. 從鏈接列表中刪除節點
- 13. C從鏈表中刪除節點
- 14. 如何從鏈表中刪除節點?
- 15. 從鏈接列表中刪除節點
- 16. 如何從鏈表中刪除節點?
- 17. 從鏈表中刪除節點
- 18. 如何從鏈表中刪除節點?
- 19. 刪除鏈接列表中的節點
- 20. 刪除圓形鏈表中的節點
- 21. 從鏈接列表中刪除節點
- 22. 從鏈接列表中刪除節點
- 23. 從雙向鏈表中刪除節點?
- 24. 刪除鏈接列表中的節點
- 25. 刪除鏈接列表中的節點
- 26. 從單向鏈表中刪除節點
- 27. 刪除節點鏈表在python
- 28. 刪除每三個節點在鏈表
- 29. 在刪除節點後打印結構鏈表的錯誤
- 30. 析構函數的鏈表