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