Hola, estoy intentando implementar una estructura de arbol binario en c#, el problemas es el siguiente. He construirdo un método borrar que le paso un objeto que contine los datos a borrar y la raiz del arbol, pero cuando localizo el nodo y lo voy a borrar y salgo del método los resultados no se reflejan en la raiz. Aquí os dejo el código a ver si me podeis exar una mano, estoy loco perdido ya no se que hacer, hi y hd representan los hijos izquiero y derecho del nodo, además no se como solucionar el problema cuando el nodo a borrar tiene dos hijos.
Muchas gracias
public int Borrar(Empleados tmp,Nodo raiz)
{
int resultado=0;
resultado=this.informacion.CompareTo(tmp);
if(raiz==null) resultado=0;
else if(resultado==1)
{
if(hi!=null) resultado=hi.Borrar(tmp,hi);
}
else if(resultado==-1)
{
if(hd!=null) resultado=hd.Borrar(tmp,hi);
}
else
{
if(hd==null)
{
raiz=hi;
}
else if(hi==null)
{
raiz=hd;
}
else
{
// si tengo dos hijos
}
}
return resultado;
}