Anbei ein Java-Code, der eine zirkuläre Liste darstellt. Bis zum Einfügen aller Knote also bis zum (*) verstehe ich es. Könnte mir jemand erklären, wie und was danach geschieht? Also selbst mit dem Ergebnis, verstehe ich nicht, WIE das Ergebnis entsteht.
Mit freundlichen Grüßen und viele Dank im Voraus für eure Hilfe!
Mit freundlichen Grüßen und viele Dank im Voraus für eure Hilfe!
Java:
class Node {
int val;
Node next;
Node (int val, Node next) {
this.val = val;
this.next = next;
}
}
class Josephus {
public static void main (String[] args) {
Node x = new Node(2, null);
Node t = x;
for (int i = 1; i < 17; i = i+3) {
x = x.next = new Node(i, null);
} (*)
x = x.next = t;
while ( x != x.next) {
for (int i = 1; 1 <= 4; i++) {
x = x.next;
}
System.out.println(x.next.val+":");
x = x.next = x.next.next;
}
System.out.println();
System.out.println("Sieger ist Nr." + x.val +".");
}
}