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. リンクリストのノードを削除せずにノードを削除するにはどうすればよいですか?
- 3. ブール式がどのような順序で評価されていますか
- 4. リンクリスト内のすべてのノードを「完全に」削除するにはどうすればよいですか?
- 5. グローバルなコンストラクタはどのような順序で呼び出されますか
- 6. 「スカラー削除デストラクタ()」をオーバーライドするにはどうすればよいですか?
- 7. どのような順序でUITableViewセクションが表示されますか?
- 8. リスト要素を順序なしリストから削除するにはどうすればよいですか?
- 9. 2つのインデックス間のリンクリストのノードを削除するにはどうすればよいですか?
- 10. phpunitテストはどのような順序で実行されますか?
- 11. フィルタ属性はどのような順序で実行されますか?
- 12. 単一リンクリストの現在のノードを削除するにはどうすればよいですか?
- 13. Cの二重リンクリストの代替ノードを削除するにはどうすればよいですか?
- 14. クラスタ化されていないインデックスにはどのような順序が格納されていますか
- 15. Cypher LOAD CSV - プロパティによって順序付けられたノードのリンクリストを作成する方法は?
- 16. 次プロバイダがAngularJsにロードされているどのような順序でAngularJs
- 17. Orchardで実行される移行はどのような順序ですか?
- 18. networkxでどのようにノードを削除しますか?
- 19. Values()ステップによって値が返される順序は何ですか
- 20. リンクリストからノードを削除
- 21. Windowsではどのような順序でセマフォがリリースされていますか?
- 22. コミットが決して削除されないようにするにはどうすればよいですか?
- 23. cループ実行中はどのような順序ですか?
- 24. リンクされたリストからどのようにノードを削除しますか?
- 25. Nokogiriでノードを削除するにはどうすればよいですか?
- 26. QueueClient.Receive()によって配信されるメッセージの順序は何ですか。
- 27. この場合、ダイナミックに追加されたスクリプトファイルはどのような順序で実行されますか?
- 28. PixelFormat.Format32bppArgbのバイト順序が間違っているようです
- 29. イニシャライザブロックや変数定義などはどのような順序で実行されますか? (javaで)
- 30. 指定された値より大きいノードをリンクリストから削除する