private string postorden2(NodoABB rama, ref string cadena) { if (rama != null) { postorden2(rama.izquierdo, ref cadena); postorden2(rama.derecho, ref cadena); if (String.IsNullOrEmpty(cadena) == true) { cadena += rama.dato; } else { cadena += ", " + rama.dato; } } return(cadena); }
private void graficar2(NodoABB rama, ref string cadena) { if (rama != null) { cadena += "nodo" + rama.dato + "[label = \" <f2>|<f1> " + rama.dato + " |<f0> \"];\n"; graficar2(rama.izquierdo, ref cadena); graficar2(rama.derecho, ref cadena); if (rama.izquierdo != null) { cadena += "\"nodo" + rama.dato + "\":f2 -> \"nodo" + rama.izquierdo.dato + "\":f1;\n"; } if (rama.derecho != null) { cadena += "\"nodo" + rama.dato + "\":f0 -> \"nodo" + rama.derecho.dato + "\":f1;\n"; } } }
private NodoABB insertar2(NodoABB rama, NodoABB nuevo) { if (rama == null) { rama = nuevo; } else { if (rama.dato.Equals(nuevo.dato) == false) { if (compararCadenas(rama.dato, nuevo.dato).Equals(nuevo.dato) == true) { rama.derecho = insertar2(rama.derecho, nuevo); } else if (compararCadenas(rama.dato, nuevo.dato).Equals(rama.dato) == true) { rama.izquierdo = insertar2(rama.izquierdo, nuevo); } } } return(rama); }
public void insertar(string dato) { NodoABB nuevo = new NodoABB(dato); if (this.raiz == null) { this.raiz = nuevo; } else { if (this.raiz.dato.Equals(dato) == false) { if (compararCadenas(dato, this.raiz.dato).Equals(dato) == true) { this.raiz.derecho = insertar2(this.raiz.derecho, nuevo); } else if (compararCadenas(dato, this.raiz.dato).Equals(this.raiz.dato) == true) { this.raiz.izquierdo = insertar2(this.raiz.izquierdo, nuevo); } } } }
public void limpiar() { this.raiz = null; }
public ABB() { this.raiz = null; }
public NodoABB(string dato) { this.dato = dato; this.izquierdo = null; this.derecho = null; }