Baum zu löschen

master
ahmad 2022-12-22 09:38:30 +01:00
parent 166d9b351b
commit 063a981d93
1 changed files with 11 additions and 6 deletions

View File

@ -168,7 +168,7 @@ public class Baum {
public boolean remove(int wert) public boolean remove(int wert)
{ {
if(value < wert && linkesKind != null) if(value > wert && linkesKind != null)
{ {
if(linkesKind.value == wert) if(linkesKind.value == wert)
{ {
@ -186,10 +186,15 @@ public class Baum {
} }
else else
{ {
Knoten alt = linkesKind; Knoten zuLöschen = linkesKind;
linkesKind = linkesKind.größterImTeilbaum(); linkesKind = linkesKind.linkesKind.größterImTeilbaum();
linkesKind.linkesKind = alt.linkesKind; linkesKind.rechtesKind = zuLöschen.rechtesKind; //Alter rechter Teil wird wieder neu zugewiesen
linkesKind.rechtesKind = alt.rechtesKind; 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); linkesKind.remove(wert);
} }
} }
if(value > wert) if(value < wert)
{ {
if(rechtesKind.value == wert) if(rechtesKind.value == wert)
rechtesKind = null; rechtesKind = null;