Fix für das Löschen.

Hoffentlich korrekt ;-)
main
Oliver Hummel 2022-12-20 23:21:26 +01:00
parent f8c0e96fdb
commit 7ff6dfd379
1 changed files with 8 additions and 5 deletions

View File

@ -96,19 +96,22 @@ public class Baum {
if (links.wert == wert) {
if (links.links == null && links.rechts == null) // keine Kinder
links = null;
else if (links.links != null && links.rechts == null) // linkes Kind
else if (links.links != null && links.rechts == null) // nur linkes Kind
links = links.links;
else if (links.rechts != null && links.links == null) // rechtes Kind
else if (links.rechts != null && links.links == null) // nur rechtes Kind
links = links.rechts;
else {
Knoten alt = links;
Knoten zuLöschen = links;
links = links.links.größterImTeilbaum();
links.links = alt.links;
links.rechts = alt.rechts;
if (links != zuLöschen.links) // den linken Knoten nur ändern, wenn es einen Teilbaum gibt
links.links = zuLöschen.links;
links.rechts = zuLöschen.rechts;
}
} else
links.remove(wert);
if (wert > this.wert && rechts != null)
// TODO Löschen komplettieren
if (rechts.wert == wert)
rechts = null;
else