2011-12-08 6 views
-3

私は現在これを持っていますが、私のリストを二重リンクリストにしたいと思っています。ここでダブルリンクリストのノードメソッドを追加しますか?

public void addDNode(DNode v) 
{ 
    if(header == tail) 
    { 

     header = v; 
    } 
    else 
    { 
     DNode current = header; 
     while (current.nextNode() != null) 
     { 
      current = current.nextNode(); 
     } 
     current.setNext(v); 
    } 
} 
+0

java.util.LinkedListは、二重リンクリストです。あなたはそれを使用したいのではなく、単にadd()メソッドの内部を見ていませんか? – korifey

+0

すべてのリンクリストの問題を解決する方法は、図を描画することです。これにより、更新するポインタ/参照の数を正確に設定するのに役立ちます。 –

+2

@ user979236:このコードをどうやって書いたのですか? –

答えて

2
public void addDNode(DNode v) { 
    if (header == null) { // means list is empty, so add first element 
     if (tail != null) 
      throw new AssertionError(); // if head points to null then tail should too 

     header = v; 
     tail = header; // first element so (head == tail) 
    } else { 
     tail.setNext(v); 
     v.setPrev(tail); 
     v.setNext(null); 
     tail = v; 
    } 
} 
+0

ありがとうございますが、変数は何ですか? – Elliot678

+0

私はこのタイプミスを修正しました。 – msi

+1

これは、一般的に眉をひそめた-時にちょうど人々に彼らの宿題の問題の完全なコードスニペットを与えるに...欠けている –

1

二重にリンクされたリストがあるものです:インターネット上doubly linked list example

検索を、それを実装してみてください、あなたはいくつかの問題を持っているならば、尋ねる:これは、Javaでそれを実装する1つの方法ですdoubly linked list article ここで;)

関連する問題