Hallo, ich habe mir eine doppelt verkettete Liste erstellt, die als eine Buchverwaltung dienen soll. Die Buchklasse beinhaltet nur den Preis und den Titel des Buches.
Wenn ich mir die Liste anzeigen lassen will, dann wird nur das letzte Buch ausgegeben, aber in der Anzahl, in der auch die Bücher in der Liste vorhanden sind.
Also wenn ich drei Bücher eingetragen habe, erscheinen 3 Bücher, aber eben immer dassselbe, welches das zu letzt eingetragene ist.
Ich nehme an der fehler liegt beim sortiertem Einfügen in die Liste nach dem Titel des Buches.
Ich poste mal zur Sicherheit noch die Ausgabe-Methode:
Ich danke für Hilfe.
mfg
Wenn ich mir die Liste anzeigen lassen will, dann wird nur das letzte Buch ausgegeben, aber in der Anzahl, in der auch die Bücher in der Liste vorhanden sind.
Also wenn ich drei Bücher eingetragen habe, erscheinen 3 Bücher, aber eben immer dassselbe, welches das zu letzt eingetragene ist.
Ich nehme an der fehler liegt beim sortiertem Einfügen in die Liste nach dem Titel des Buches.
Code:
public void einfuegen (Buch b) {
Knoten p = head;
Knoten previous = null;
Knoten temp = new Knoten(b);
if (p == null) {
head = temp;
head.setNext(null);
return;
}
while (p != null && p.getData().getTitel().compareTo(b.getTitel()) < 0) {
previous = p;
p = p.getNext();
}
temp.setNext(p);
if (p == head) {
temp.setNext(head);
head.setPrev(temp);
head = temp;
}
else {
previous.setNext(temp);
temp.setPrev(previous);
if (p == null) {
tail = temp;
temp.setNext(null);
}
else {
p.setPrev(temp);
temp.setNext(p);
}
}
}
Ich poste mal zur Sicherheit noch die Ausgabe-Methode:
Code:
public void durchlaufvorRek (Knoten head) {
if (head != null) {
head.getData().ausgabe();
durchlaufvorRek(head.getNext());
}
}
Ich danke für Hilfe.
mfg