Baum zu löschen
parent
166d9b351b
commit
063a981d93
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue