Dynamische Datenstrukturen

Code:
class Node {
    int val;
    Node next;
    Node(int val) {
        this.val = val;
       
    }
   
}
public class A2UmordnungEinerListe {
    //read a sequence of integers and link them into a list
    static Node readList() {
        In.open("input.txt");
        Node head = null;
        Node tail = null;
        int val = In.readInt();
        while(In.done()) {
            Node p  = new Node(val);
            if(head == null)head = p; else tail.next = p;
            tail = p;
            val = In.readInt();
        }
        In.close();
        return head;
    }
   
    //Move all negative elements in front of all the positive values 
    static Node reorder(Node list) {
        Node p = list; 
        Node last = null;
        while(p != null) {
            if(p.val < 0 && last != null) { 
                last.next = p.next; 
                p.next = list;      
                list = p;
                p = last.next;   
            }else {
                last = p; 
                p = p.next;
            }
        }
        return list;
       
    }
Hallo!
Ich möchte ein Programm erstellen, dass eine Liste umordnet, also so, dass bei einer Liste mit negativen und positiven Knoten die in zufälliger Reihenfolge, alle negativen vor den positiven Knoten stehen. Die Reihenfolge unter positiven bzw. negativen ist egal.
Laut Musterlösung sieht das so aus.
Meine Frage betrifft die Methode reorder. Und zwar verstehe ich nicht ganz wie die Werte innerhalb der if Bedingung verändert werden. Gehen wir von einer Liste mit den Werten
6 -27 67 -52 -3 8 98 -3 37 -2 -97 46 2 aus.
Zu Beginn : list = 6, last = 6, dann ist last.next=-27, p.next=67, p = -27 oder?
Dann wäre im nächsten Schritt last.next = 67, p.next = 6, list = -27, p = 67 und last würde zunächst bei 6 bleiben. Richtig?
Dann aber würde im nächsten Schritt last = 67 und im übernächsten last wieder = 6 sein, weil p.next ja 6 war.
Ist das so richtig, und wie würde es dann weitergehen?
Vielen Dank für eure Antwort im Voraus. Sitze schon sehr lang an diesem Beispiel, hoffe ihr könnt mir helfen!
LG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Übungsaufgabe:Dynamische Datenstrukturen Java Basics - Anfänger-Themen 10
ohneInformatik; Dynamische Zinsen. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
A Erste Schritte Dynamische Stempel im PDF Exchange programmieren Java Basics - Anfänger-Themen 0
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
L Dynamische Bindung Java Basics - Anfänger-Themen 3
W OOP Definition / Abgrenzung dynamische Bindung Java Basics - Anfänger-Themen 11
L Variablen Dynamische Variablenname Java Basics - Anfänger-Themen 9
L Dynamische Programmierung Java Basics - Anfänger-Themen 0
M Schlüsselworte Dynamische Polymorhpie Java Basics - Anfänger-Themen 32
J OOP Dynamische Objektnamen Java Basics - Anfänger-Themen 6
Ste3et_C0st Dynamische While/For Schleife Java Basics - Anfänger-Themen 7
F Erste Schritte Dynamische Variablen Java Basics - Anfänger-Themen 15
M Dynamische Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 11
S Dynamische Variable ist? Java Basics - Anfänger-Themen 11
S Verwirrung - Dynamische Bindung greift nicht Java Basics - Anfänger-Themen 2
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
P Klassen statische oder dynamische(?) Klasse Java Basics - Anfänger-Themen 3
J Dynamische Liste durchsuchen + anpassen Java Basics - Anfänger-Themen 3
A Schlüsselworte dynamische Stringteilung Java Basics - Anfänger-Themen 4
C Dynamische (AJAX) Inhalte einer Webseite mittels Java auslesen Java Basics - Anfänger-Themen 2
B dynamische erzeugung eines Objektes Java Basics - Anfänger-Themen 21
L Dynamische Objektgenerierung Java Basics - Anfänger-Themen 4
K Dynamische Bindungsregel Java Basics - Anfänger-Themen 2
B dynamische/statische Typen Java Basics - Anfänger-Themen 2
C dynamische JTextFields durchlaufen Java Basics - Anfänger-Themen 5
H Dynamische Bindung mit Interfaces und LinkedList Java Basics - Anfänger-Themen 7
N OOP Dynamische Objekte und nach Parametern durchsuchen Java Basics - Anfänger-Themen 4
M dynamische JPanels/Component Java Basics - Anfänger-Themen 3
X dynamische Listen Java Basics - Anfänger-Themen 2
A Schnelle, dynamische, geordnete Datenstruktur? Java Basics - Anfänger-Themen 11
M Dynamische JButtons mit ActionListener Java Basics - Anfänger-Themen 7
Y Kleine Verständnisfrage zum Thema dynamische Polymorphie Java Basics - Anfänger-Themen 3
C Dynamische Matrizen Java Basics - Anfänger-Themen 4
0 Dynamische Datenstruktur ohne Duplikate und mit direkter Elementauswahl Java Basics - Anfänger-Themen 3
N Vererbung/Dynamische Bindungen Java Basics - Anfänger-Themen 15
W Dynamische Bindung Java Basics - Anfänger-Themen 3
P jsp tags und scriplets mischen dynamische werte an jsp tag Java Basics - Anfänger-Themen 2
S Dynamische Tabelle Java Basics - Anfänger-Themen 2
P Suche Ersatz für dynamische arrays Java Basics - Anfänger-Themen 2
T Dynamische Reaktionen Java Basics - Anfänger-Themen 29
P Dynamische Bindung Java Basics - Anfänger-Themen 8
F Dynamische Speicheranpassung und exe Java Basics - Anfänger-Themen 9
D Dynamische Objektnamen / Variablen als Objektnamen verwenden Java Basics - Anfänger-Themen 3
J dynamische Auswahl einer überladenen Methode Java Basics - Anfänger-Themen 5
C JTable und dynamische Speicherung Java Basics - Anfänger-Themen 2
M Dynamische Wertsetzung von Variablen durch Eingaben Java Basics - Anfänger-Themen 9
J Dynamische Größenveränderung der Komponenten verhindern Java Basics - Anfänger-Themen 8
C Dynamische Operatoren! Java Basics - Anfänger-Themen 5
R dynamische Variablennamen Java Basics - Anfänger-Themen 3
M dynamische, assziative Arrays Java Basics - Anfänger-Themen 2
I dynamische mehrdimensionales Array Java Basics - Anfänger-Themen 8
H Unterschied statischer/dynamische Typ einer Variablen Java Basics - Anfänger-Themen 2
H statische,dynamische Bindung Java Basics - Anfänger-Themen 4
0 Dynamische Speicherverwaltung Java Basics - Anfänger-Themen 4
B Dynamische If Anweisung Java Basics - Anfänger-Themen 13
B Dynamische Variable Java Basics - Anfänger-Themen 12
C Dynamische Arraygröße Java Basics - Anfänger-Themen 2
M dynamische tabellen Java Basics - Anfänger-Themen 2
G Java dynamische Arrays?? Java Basics - Anfänger-Themen 2
K Algorithmen und Datenstrukturen Programmier Aufgabe Java Basics - Anfänger-Themen 10
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
V_Fynn03 Lineare Datenstrukturen Element löschen? Java Basics - Anfänger-Themen 2
F Datenstrukturen Java Basics - Anfänger-Themen 5
S Datenstrukturen Java Basics - Anfänger-Themen 7
L Datenstrukturen/ Listen Java Basics - Anfänger-Themen 17
B Datenstrukturen in Java Java Basics - Anfänger-Themen 6
D komplexe Datenstrukturen "klonen" Java Basics - Anfänger-Themen 4
M Algorithmen und Datenstrukturen Java Basics - Anfänger-Themen 3
K Datentypen Gleiche Zufallszahlen in verschiedenen Datenstrukturen Java Basics - Anfänger-Themen 6
G Unterschied zwischen den Datenstrukturen Java Basics - Anfänger-Themen 2
G Probleme mit Datenstrukturen (Vektor, HashMap) Java Basics - Anfänger-Themen 5
H generische Bausteine, heterogene Datenstrukturen Java Basics - Anfänger-Themen 2
J Datenstrukturen Java Basics - Anfänger-Themen 12
S Datenstrukturen Java Basics - Anfänger-Themen 7
B Datenstrukturen & Algorithmen => Iteratoren Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben