0
は、私はまた、私はリンクリストの先頭を指すhead
変数を持ってNode
Python:リンクされたリストを完全に削除する方法は?
class Node:
def __init__(self, data, next):
self.data = data
self.next = next
ため、このようなクラス定義を持っていると言うことができます。
は、それが十分に完全にリンクリストを削除するhead = None
を設定しますか?私はそれが仕事をしなければならないと思いますか?
私はあなたがまだ全体のリストと無料のすべての要素を反復処理する必要がありますc/c++
と比較します。
pythonは参照カウントを使用します...ヘッドが先行ノードに割り当てられ、次にヘッドが別のものに再割り当てされる場合...先頭のノードのref-countは1つ減少します... ref-countがゼロである限り、ガベージコレクタはガベージコレクタを収集します...内部メモリ管理の心配があれば、Pythonはあなたにとって適切なツールではないかもしれません...(正しいことをする傾向がありますが、内部実装はしばしば実装固有です) –
@JoranBeasleyリードノードのrefカウントが0より大きい場合、ガーベジコレクションされ、他のリンクされたノードはすべてチェーンによって収集されます? –
子ノードが親をポイントしない限り –