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); } } }
public void ImprimirPostOrden(NodoBinario recor) { if (recor != null) { ImprimirPostOrden(recor.getHijoIzquierdo()); ImprimirPostOrden(recor.getHijoDerecho()); Console.Write(recor.getDato() + " "); } }
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); }