2016-06-28 13 views
0

私は二重リンクリストを作成しています。作成する必要があるメソッドの1つは、リストからtargetDataのすべてのインスタンスを削除するメソッドです。リスト全体で1回のトラバーサルを実行して要素を削除する必要があります。しかし、私の方法は、すべてのインスタンスを削除しないと、これは私の方法Double LinkedListと削除

+0

私は、これは宿題の運動であることを推測しますか? (そうでなければ、コンテナクラスを使うべきです...)二重リンクリストを使った非常に便利な "トリック"は、リストを初期化して常に** "ダミー" **エントリを含むようにすることですそれ自体にリンクされています。このダミーまたはアンカーエントリは、トラバース中は常に無視され、もちろん削除することはできません。これはあなたが購入したことです」リストには少なくとも1つのノード(ダミー...)が常に存在するため、ノードを挿入または削除するコードは常に同じです –

答えて

-1

使用再帰である理由 私は把握できませんでした:

removeNode(node); 
{ 
    if(node.next==null){ 
     node.pre=null; 
     node=null; 
    }else{ 
     removeNode(node.next); 
     node.next=null; 
     node.pre=null; 
     node=null; 
    } 
} 
+1

ダンプするだけではなく、いくつかのコード... – Robert

+0

私は再帰を使用することができません@Dipak Prajapati – haylu

+0

@Robert説明するにはこのコードでは何も複雑ではありませんし、hayluは質問のすべての条件を言及してください、 –

関連する問題