1. class NodoBin
{
public string elemento;
public int vida;
public NodoBin izquierdo;
public NodoBin derecho;
public NodoBin(string elem)
{
elemento = elem;
vida = 100;
izquierdo = null;
derecho = null;
}
}
//-----------------------------------------------------------------------
class ArbolBin
{
NodoBin raiz;
ArrayList lista = new ArrayList();
public ArbolBin()
{
raiz = null;
}
public NodoBin get_Raiz()
{
return raiz;
}
// Declaración de operaciones como insertar, mostrar, etc.
public bool insertar(string dato)
{
2. bool resultado;
NodoBin rz = get_Raiz();
resultado = insertar_en(rz,dato);
return resultado;
}
public bool insertar_en(NodoBin rz, string dato) //******* void
{
// No permite datos repetidos //*******
bool bandera = false; //*******
if (rz == null) //Arbol vacio: crear un nodo
raiz = new NodoBin(dato);
else
if (string.Compare(dato, rz.elemento) < 0)
{
if (rz.izquierdo != null) insertar_en(rz.izquierdo, dato);
else rz.izquierdo = new NodoBin(dato);
}
else
if (string.Compare(dato, rz.elemento) >0) //*******
{
if (rz.derecho != null) insertar_en(rz.derecho, dato);
else rz.derecho = new NodoBin(dato);
}
else //*******
{
bandera = true; //*******
}
return bandera;//*******
}
//----------------------------------------------------------------------
public NodoBin modificar(string pers, int v)
{
NodoBin rz = get_Raiz();
NodoBin respuesta = buscar_para_cambiar(rz, pers,v);
return respuesta;
3. }
//-----------------------------------------------------------------------
public NodoBin buscar_para_cambiar(NodoBin rz, string dato, int v)
{
NodoBin encontrado;
if (rz != null)
if (string.Compare(dato, rz.elemento) == 0)
{
rz.vida = v;
encontrado = rz;
}
else
if (string.Compare(dato, rz.elemento) < 0)
if (rz.izquierdo != null) encontrado =
buscar_para_cambiar(rz.izquierdo, dato,v);
else encontrado = null;
else
if (rz.derecho != null) encontrado =
buscar_para_cambiar(rz.derecho, dato,v);
else encontrado = null;
else encontrado = null;
return encontrado;
}
//-----------------------------------------------------------------------
public string buscar(string dato)
{
NodoBin rz = get_Raiz();
string respuesta = buscar_dato(rz, dato);
return respuesta;
}
public string buscar_dato(NodoBin rz, string dato)
{
string encontrado;
if (rz != null)
if (string.Compare(dato, rz.elemento) == 0)