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)
{
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;