From 7ff6dfd37917bbb35c855345dda01c51ff42f2bf Mon Sep 17 00:00:00 2001 From: Oliver Hummel Date: Tue, 20 Dec 2022 23:21:26 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20f=C3=BCr=20das=20L=C3=B6schen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hoffentlich korrekt ;-) --- Baum/src/Baum.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Baum/src/Baum.java b/Baum/src/Baum.java index 3eabd36..1432593 100644 --- a/Baum/src/Baum.java +++ b/Baum/src/Baum.java @@ -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