Пример #1
0
 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);
Пример #2
0
 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);
     }
 }