public T Buscar(T persona, NodoAVL <T> nodo, Comparison <T> comparison) { if (Raiz != null) { if (comparison.Invoke(persona, nodo.Enfermo) < 0) { if (nodo.Izquierdo != null) { return(Buscar(persona, nodo.Izquierdo, comparison)); } else { return(default);
public void Add(T item, NodoAVL <T> nodo, Comparison <T> comparison) { if (Raiz != null) { if (comparison.Invoke(item, nodo.Enfermo) < 0) { if (nodo.Izquierdo != null) { Add(item, nodo.Izquierdo, comparison); } else { nodo.Izquierdo = new NodoAVL <T>(item); } } else { if (nodo.Derecho != null) { Add(item, nodo.Derecho, comparison); } else { nodo.Derecho = new NodoAVL <T>(item); } } //else //{ // if (raiz.Derecho !=null) // { // this.Add(item, raiz.Derecho); // } // else // { // raiz.Derecho = new NodoAVL(item); // } //} } else { Raiz = new NodoAVL <T>(item); } }