From 063a981d937819dd0d5f25790934848836c1ecfe Mon Sep 17 00:00:00 2001 From: ahmad Date: Thu, 22 Dec 2022 09:38:30 +0100 Subject: [PATCH] =?UTF-8?q?Baum=20zu=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Baumy/src/Baum.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Baumy/src/Baum.java b/Baumy/src/Baum.java index ff894e4..2010c38 100644 --- a/Baumy/src/Baum.java +++ b/Baumy/src/Baum.java @@ -168,7 +168,7 @@ public class Baum { public boolean remove(int wert) { - if(value < wert && linkesKind != null) + if(value > wert && linkesKind != null) { if(linkesKind.value == wert) { @@ -186,10 +186,15 @@ public class Baum { } else { - Knoten alt = linkesKind; - linkesKind = linkesKind.größterImTeilbaum(); - linkesKind.linkesKind = alt.linkesKind; - linkesKind.rechtesKind = alt.rechtesKind; + Knoten zuLöschen = linkesKind; + linkesKind = linkesKind.linkesKind.größterImTeilbaum(); + linkesKind.rechtesKind = zuLöschen.rechtesKind; //Alter rechter Teil wird wieder neu zugewiesen + if(linkesKind != zuLöschen.linkesKind) // den linken Knoten nur ändern, wenn es einen Teilbaum gibt + { + linkesKind.linkesKind = zuLöschen.linkesKind; + } + + } @@ -200,7 +205,7 @@ public class Baum { linkesKind.remove(wert); } } - if(value > wert) + if(value < wert) { if(rechtesKind.value == wert) rechtesKind = null;