public cNodo(T value, cNodo <T> nPadre, cNodo <T> nIzquierda, cNodo <T> nDerecha) { sInformacion = value; this.nDerecha = nDerecha; this.nIzquierda = nIzquierda; this.nPadre = nPadre; }
public T Encontrar(Delegate comparer, T value) { cNodo <T> Aux = this.Raiz; while (Aux != null) { if ((int)comparer.DynamicInvoke(Aux.sInformacion, value) == 0) { return(Aux.sInformacion); } else { if ((int)comparer.DynamicInvoke(Aux.sInformacion, value) > 0) { Aux = Aux.nIzquierda; } else if ((int)comparer.DynamicInvoke(Aux.sInformacion, value) < 0) { Aux = Aux.nDerecha; } else { return(default(T)); } } } return(default(T)); }
public void Insertar(T value) { if (Raiz == null) { Raiz = new cNodo <T>(value); } else { cNodo <T> Temporal = Raiz; bool Encontrado = false; while (!Encontrado) { int ValueComp = Temporal.sInformacion.CompareTo(value); if (ValueComp > 0) { if (Temporal.nIzquierda == null) { Temporal.nIzquierda = new cNodo <T>(value, Temporal); return; } else { Temporal = Temporal.nIzquierda; } } else if (ValueComp < 0) { if (Temporal.nDerecha == null) { Temporal.nDerecha = new cNodo <T>(value, Temporal); return; } else { Temporal = Temporal.nDerecha; } } else { return; } } } }
public cNodo(T value, cNodo <T> nPadre) { sInformacion = value; this.nPadre = nPadre; }
private ArbolBinarioBusqueda(cNodo <T> Raiz) { this.Raiz = Raiz; }