2016-07-06 14 views
0

Ist Java doubly linked list rund?Ist jdk doppelt verlinkt?

Es nirgendwo in Java-Dokumentation geschrieben. Aber sieht mag seinen Kreis wenn ich Liste Quellcode verknüpft sehe, ist hier der entsprechende Code-Schnipsel, wenn

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; 
    } 

Update: - von Kreis bedeuten i

  1. Header vorheriger Knoten letzter Knoten sein soll, die scheint Auch hier gilt
  2. Und für den letzten Knoten sollte nächsten Knoten Kopfknoten
+1

Circular in welchem ​​Sinne? Wenn Sie meinen, können Sie 'list.get (something)' aufrufen, wobei 'something> = list.size()', [no] (https://docs.oracle.com/javase/8/docs/api/java /util/LinkedList.html#get-int-). –

+0

@AndyTurner Bitte beachten Sie mein Update –

+0

Warum kümmern Sie sich eigentlich um interne Implementierungsdetails? Was versuchst du wirklich? –

Antwort

-1

Es ist nicht kreisförmig sein. Es hat einen klaren Kopf und Schwanz.

+0

das ist nicht korrekt. Siehe meine Antwort –

0

Going durch Ihre Kriterien

  1. vorherigen Knoten Header sollten letzter Knoten sein, die
  2. wahr hier scheint
  3. Und für die letzten Knoten soll nächsten Knoten Kopfknoten

verlinkte Liste sein ist kreisförmig, denn wenn Sie add Methode implementation sehen, die intern ruft, gehen Sie in sert zeigt auf Header als nächsten Link und Header zeigt auf den letzten Eintrag, den Sie gerade als vorherigen Link eingefügt haben