Пример #1
0
        public object BuscarDato(string cadena)
        {
            ClsNodo Arb_Aux   = null;
            ClsNodo Arb_Padre = null;
            int     ValCadena = ValorCadena(cadena);

            if (ArbolVacio())
            {
                return(null);
            }
            else
            {
                Arb_Aux = Raiz;
                while (Arb_Aux.getValNodo() != ValCadena)
                {
                    if (Arb_Aux.getValNodo() > ValCadena)
                    {
                        Arb_Padre = Arb_Aux;
                        Arb_Aux   = Arb_Aux.subArbolIzq();
                    }
                    else if (Arb_Aux.getValNodo() < ValCadena)
                    {
                        Arb_Padre = Arb_Aux;
                        Arb_Aux   = Arb_Aux.subArbolDer();
                    }
                }
                return(Arb_Aux.getDato());
            }
        }
Пример #2
0
        public void AddDato(Object NodoDato, string cadena)
        {
            ClsNodo Arb_Aux   = null;
            ClsNodo Arb_Padre = null;
            ClsNodo NuevoNodo = new ClsNodo(NodoDato, cadena);

            if (ArbolVacio())
            {
                Raiz = new ClsNodo(NodoDato, cadena);
            }
            else
            {
                Arb_Aux = Raiz;
                while (Arb_Aux != null)
                {
                    if (Arb_Aux.getValNodo() > NuevoNodo.getValNodo())
                    {
                        Arb_Padre = Arb_Aux;
                        Arb_Aux   = Arb_Aux.subArbolIzq();
                    }
                    else if (Arb_Aux.getValNodo() < NuevoNodo.getValNodo())
                    {
                        Arb_Padre = Arb_Aux;
                        Arb_Aux   = Arb_Aux.subArbolDer();
                    }
                }

                if (Arb_Padre.getValNodo() > NuevoNodo.getValNodo())
                {
                    Arb_Padre.setRamaIzq(NuevoNodo);
                }
                if (Arb_Padre.getValNodo() < NuevoNodo.getValNodo())
                {
                    Arb_Padre.setRamaDer(NuevoNodo);
                }
            }
        }