Пример #1
0
 private void buscar2(NodoArbolABB raiz, IComparable usuario, String password)
 {
     Verificacion = 0;
     if (raiz == null)
     {
         //Console.WriteLine("datos incorrectos");
         Verificacion = 0;
     }
     else
     {
         if (raiz.getNickname().ToString() == usuario.ToString())
         {
             //Console.WriteLine("datos encontrados");
             Verificacion = 1;
         }
         else if (usuario.CompareTo(raiz.getNickname()) <= 0)
         {
             buscar2(raiz.getIzquierdo(), usuario, password);
         }
         else
         {
             buscar2(raiz.getDerecho(), usuario, password);
         }
     }
 }
Пример #2
0
        public void EliminarNodo(NodoArbolABB valor,IComparable usuario,String Contra, String Email, int Conexion)
        {
            if ((valor.getIzquierdo() != null) && (valor.getDerecho() != null))
            {
                //Elimina con 2 hijos
                //NodoArbolABB minimo = valor.getDerecho().minimo();
                //this.setNickname(minimo.getNickname());
                //valor.getDerecho().EliminarNodo(valor, minimo.getNickname(), Contra, Email, Conexion);
                

            }
            else if ((valor.getIzquierdo() != null) || (valor.getDerecho() != null))
            {
                //Eliminar con 1 hijo
                NodoArbolABB sustituto = valor.getIzquierdo() != null ? valor.getIzquierdo() : valor.getDerecho();
                this.setNickname(sustituto.getNickname());
                this.setIzquierdo(sustituto.getIzquierdo());
                this.setDerecho(sustituto.getDerecho());
                
            }
            else
            {
                //Eliminar sin hijos
                if (valor.getPadre() != null)
                {
                    //if (raiz == raiz.getPadre().getIzquierdo()) raiz.getPadre().getIzquierdo() = null;
                    if (this == valor.getPadre().getIzquierdo()) valor.getPadre().setIzquierdo(null);
                    if (this == valor.getPadre().getDerecho()) valor.getPadre().setDerecho(null);
                    valor.setPadre(null);

                }
                valor = null;
            }
        }
Пример #3
0
 private void Reemplazar(NodoArbolABB raiz, IComparable usuario, String contra, String Correo, int IndicadorConexion)
 {
     if (raiz != null)
     {
         if (raiz.getNicknamee() == usuario.ToString())
         {
             //Console.WriteLine("datos encontrados");
             raiz.EliminarNodo(raiz, usuario, contra, Correo, IndicadorConexion);
         }
         else if (usuario.CompareTo(raiz.getNickname()) <= 0)
         {
             Reemplazar(raiz.getIzquierdo(), usuario, contra, Correo, IndicadorConexion);
         }
         else
         {
             Reemplazar(raiz.getDerecho(), usuario, contra, Correo, IndicadorConexion);
         }
     }
 }