Exemple #1
0
        public void agregar(IComparable elem)
        {
            NodoBinario Nuevo;

            Nuevo = new NodoBinario(elem);
            if (raiz == null)
            {
                raiz = Nuevo;
            }
            else
            {
                NodoBinario anterior = null, reco;
                reco = raiz;
                while (reco != null)
                {
                    anterior = reco;
                    if (elem.CompareTo(reco.getDato()) < 0)
                    {
                        reco = reco.getHijoIzquierdo();
                    }
                    else
                    {
                        reco = reco.getHijoDerecho();
                    }
                }
                if (elem.CompareTo(anterior.getDato()) < 0)
                {
                    anterior.setHijoIzquierdo(Nuevo);
                }
                else
                {
                    anterior.setHijoDerecho(Nuevo);
                }
            }
        }
Exemple #2
0
 public void ImprimirPostOrden(NodoBinario recor)
 {
     if (recor != null)
     {
         ImprimirPostOrden(recor.getHijoIzquierdo());
         ImprimirPostOrden(recor.getHijoDerecho());
         Console.Write(recor.getDato() + " ");
     }
 }
Exemple #3
0
        public bool incuye(IComparable dato)
        {
            NodoBinario reco = this.raiz;

            while (reco != null)
            {
                if (dato.CompareTo(reco.getDato()) == 0)
                {
                    return(true);
                }
                else
                {
                    if (dato.CompareTo(reco.getDato()) < 0)
                    {
                        reco = reco.getHijoIzquierdo();
                    }
                    else
                    {
                        reco = reco.getHijoDerecho();
                    }
                }
            }
            return(false);
        }