2016-07-06 14 views
0

Java doubly linked listは円ですか?jdkは二重リンクリスト循環を提供していますか?

これはどこでもjava docsで書かれています。円形によって私は

  1. ヘッダ前のノードは思わ最後のノードでなければなりません意味 - :しかし、私はここにリンクされたリストのソースコードを見ると

    関連するコードスニペットがあればある

    private Entry<E> More ...entry(int index) { 
    ... 
         Entry<E> e = header; 
         if (index < (size >> 1)) { 
          ... 
         } else { 
          for (int i = size; i > index; i--) 
           e = e.previous; 
         } 
         return e; 
        } 
    
    その円形が好きなアップデートになりますここ
  2. 真そして最後のノードの次のノードはヘッダーノード
+1

どのような意味で円ですか? 'something. = list.size()'、 'no'(https://docs.oracle.com/javase/8/docs/api/java)という' list.get(something) 'を呼び出すことができれば、 /util/LinkedList.html#get-int-)。 –

+0

@AndyTurner私のアップデート –

+0

をご覧ください。なぜ内部実装の詳細について実際に気にしますか?あなたは本当に何をしようとしていますか? –

答えて

-1

それは円形ではありませんする必要があります。それは明確な頭と尾を持っています。

+0

は正しくありません。私の答えを見てください –

0

  1. ヘッダ前のノードが
  2. ここで本当のようで最後のノードである必要があり、最後のノードのための次のノードはヘッダーノードリストをリンク

する必要がありますあなたの基準で行きますあなたがaddメソッドimplementationを内部で呼び出すとaddBeforeと表示されるので、循環していますsertは次のリンクとしてヘッダーをポイントし、ヘッダーは直前のリンクとして挿入した最後のエントリを指します

関連する問題