Java lernen

Josephus Verständnis

Diskutiere Josephus Verständnis im Allgemeine Java-Themen Forum; 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...

  1. Jns
    Jns Neues 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!

    Code (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 +".");
        }
    }
     
     
  2. MoxxiManagarm
    MoxxiManagarm Aktives Mitglied
    Code (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 +".");
     
Die Seite wird geladen...

Josephus Verständnis - Ähnliche Themen

Kurze Verständnissfrage
Kurze Verständnissfrage im Forum Java Basics - Anfänger-Themen
Grundlegende Verständnisfrage JavaFX<->Scene Builder
Grundlegende Verständnisfrage JavaFX<->Scene Builder im Forum AWT, Swing, JavaFX & SWT
Verständnisproblem
Verständnisproblem im Forum Java Basics - Anfänger-Themen
Verständnisproblem bei Fehlermeldung bei "showMessage"
Verständnisproblem bei Fehlermeldung bei "showMessage" im Forum AWT, Swing, JavaFX & SWT
Verständnisfrage bzgl. Variablen/Referenzen
Verständnisfrage bzgl. Variablen/Referenzen im Forum Java Basics - Anfänger-Themen
Thema: Josephus Verständnis