Pushing stuff

master
ahmad 2022-12-22 10:29:56 +01:00
parent 063a981d93
commit bede6bfc88
2 changed files with 48 additions and 8 deletions

View File

@ -14,6 +14,7 @@ public class Baum {
if(wurzel == null)
{
wurzel = new Knoten(wert);
return;
}
wurzel.add(wert);
}
@ -51,7 +52,7 @@ public class Baum {
{
return "Baum ist noch leer";
}
sb = new StringBuilder();
list.add(wurzel);
wurzel.breitenSuche();
@ -149,7 +150,7 @@ public class Baum {
{
if(linkesKind != null)
{
list.add(linkesKind);
list.add(this.linkesKind);
}
if(rechtesKind != null)
{
@ -194,8 +195,6 @@ public class Baum {
linkesKind.linkesKind = zuLöschen.linkesKind;
}
}
}
@ -208,11 +207,41 @@ public class Baum {
if(value < wert)
{
if(rechtesKind.value == wert)
rechtesKind = null;
else
{
if(rechtesKind.linkesKind == null && rechtesKind.rechtesKind == null) //Keine Kinder
{
rechtesKind = null;
}
else if(rechtesKind.linkesKind != null && rechtesKind.rechtesKind == null)
{
rechtesKind = rechtesKind.linkesKind;
}
else if(rechtesKind.linkesKind == null && rechtesKind.rechtesKind != null)
{
rechtesKind = rechtesKind.rechtesKind;
}
else
{
Knoten zuLöschen = rechtesKind;
rechtesKind = rechtesKind.rechtesKind.größterImTeilbaum();
rechtesKind.linkesKind = zuLöschen.linkesKind;
if(rechtesKind != zuLöschen.rechtesKind)
{
rechtesKind.rechtesKind = zuLöschen.rechtesKind;
}
}
}
else {
rechtesKind.remove(wert);
}
}
@ -223,9 +252,13 @@ public class Baum {
{
if(this.rechtesKind != null)
{
return this.rechtesKind.größterImTeilbaum();
Knoten kind = this.rechtesKind.größterImTeilbaum();
if (rechtesKind == kind)
rechtesKind = null;
return kind;
}
return this;
}

View File

@ -12,8 +12,15 @@ public static void main(String[] args) throws Exception
b1.add(27);
b1.add(11);
b1.add(85);
b1.add(45);
b1.add(43);
b1.add(46);
b1.remove(21);
b1.remove(45);
b1.inorder();