Josephus Verständnis

Jns

Mitglied
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!

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 +".");
    }
}
 

MoxxiManagarm

Top Contributor
Java:
 x = x.next = t; // schließt den Kreis
        while ( x != x.next) { // solange es mehr als einen Node im Kreis gibt...
            for (int i = 1; 1 <= 4; i++) { // Bewege dich um 4 Positionen im Kreis (wenn man davon ausgeht, dass die 2. 1 i sein sollte)
                x = x.next;
            }
            System.out.println(x.next.val+":");
            x = x.next = x.next.next; // damit wird x.next aus dem Kreis entfernt, der Zeiger x springt auf den Nachfolger des entfernten Nodes
        }
        System.out.println();
        System.out.println("Sieger ist Nr." + x.val +".");
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
H Mathematisch fehlendes Verständnis (3D-Denken) Allgemeine Java-Themen 14
A Hilfe beim Verständnis Allgemeine Java-Themen 16
Kirby.exe Verständnis Problem bei Rucksack Problem Allgemeine Java-Themen 6
parrot Verständnis des Codes Allgemeine Java-Themen 3
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
M True or false Verständnis Allgemeine Java-Themen 5
D (Verständnis-)Problem mit Unterklasse Allgemeine Java-Themen 4
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
H Erste Schritte Beispiele zum Verständnis Allgemeine Java-Themen 3
T Input/Output Verständnis: Wo wird das File auf die Festplatte gepackt? Allgemeine Java-Themen 4
B Hilfe beim Verständnis von Mergesort Allgemeine Java-Themen 5
C int zu byte cast - verständnis Allgemeine Java-Themen 3
M Verständnis enum - switch Allgemeine Java-Themen 2
M Verständnis "synchronized" Allgemeine Java-Themen 4
C Verständnis zur Strukturierung von Java-Projekten/Interfaces Allgemeine Java-Themen 2
C Autoboxing Verständnis Allgemeine Java-Themen 4
S Probleme mit dem allgemeinen Verständnis zuverrebung usw. Allgemeine Java-Themen 6
S Verständnis Problem - Classpath Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben