Hey Forum,
habe hier bereits die Suche bemüht bin aber aus den bestehenden Threads leider nicht schlauer geworden.
Habe eine Aufgabe vor mir liegen bei der eine einfach verkette Liste mit int Werten aufsteigend sortiert werden soll. Also falls aktueller Wert des Knoten größer als der des Folgeknotens --> Werte tauschen.
Der Einfachheit halber wird bei der Liste nicht zwischen Listenelementen und der Liste unterschieden. Also alles in einer Klasse.
Die Klasse dazu:
Meine Überlegungen dazu waren:
- Zählen wie lang die Liste und anschließend mit einer for Schleife die Liste
die Anzahl durchzulaufen und dabei per Ringtausch die Werte zu sortieren...
Das Programm wirft nun leider eine Nullpointer Exception, was ja bedeutet das meine if Abfrage ins Niemandsland (null) führt...
Falls jemand einen Tipp hat wäre ich sehr dankbar!
PS: Mein Text war deutlich umfangreicher aber als ich posten wollte war ich schon ausgeloggt und es kam eine Fehlermeldung, habe dann auf "zurück" im Browser geklickt wodurch ich zwar wieder hierhin gelangt bin aber der halbe Text ist weg :/
habe hier bereits die Suche bemüht bin aber aus den bestehenden Threads leider nicht schlauer geworden.
Habe eine Aufgabe vor mir liegen bei der eine einfach verkette Liste mit int Werten aufsteigend sortiert werden soll. Also falls aktueller Wert des Knoten größer als der des Folgeknotens --> Werte tauschen.
Der Einfachheit halber wird bei der Liste nicht zwischen Listenelementen und der Liste unterschieden. Also alles in einer Klasse.
Die Klasse dazu:
Java:
public class Node {
int wert;
Node next;
public Node(int value, Node next) {
this.wert = value;
this.next = next;
}
public static void bubbleSort(Node m) {
int count =0;
while(m != null) {
count++;
m = m.next;
}
int hilf;
for(int i=0; i<count; i++) {
if(m.wert > m.next.wert) {
hilf = m.wert;
m.wert = m.next.wert;
m.next.wert = hilf;
m = m.next;
}
else m=m.next;
}
}
Meine Überlegungen dazu waren:
- Zählen wie lang die Liste und anschließend mit einer for Schleife die Liste
die Anzahl durchzulaufen und dabei per Ringtausch die Werte zu sortieren...
Das Programm wirft nun leider eine Nullpointer Exception, was ja bedeutet das meine if Abfrage ins Niemandsland (null) führt...
Falls jemand einen Tipp hat wäre ich sehr dankbar!
PS: Mein Text war deutlich umfangreicher aber als ich posten wollte war ich schon ausgeloggt und es kam eine Fehlermeldung, habe dann auf "zurück" im Browser geklickt wodurch ich zwar wieder hierhin gelangt bin aber der halbe Text ist weg :/
Zuletzt bearbeitet von einem Moderator: