Exemple #1
0
        private NodoAvl rotacionDI(NodoAvl n, NodoAvl n1)
        {
            NodoAvl n2;

            n2 = (NodoAvl)n1.subarbolIzq();
            n.ramaDch(n2.subarbolIzq());
            n2.ramaIzq(n);
            n1.ramaIzq(n2.subarbolDch());
            n2.ramaDch(n1);
            // factores de equilibrio en actualizacion
            if (n2.fe == +1)
            {
                n.fe = -1;
            }
            else
            {
                n.fe = 0;
            }
            if (n2.fe == -1)
            {
                n1.fe = 1;
            }
            else
            {
                n1.fe = 0;
            }
            n2.fe = 0;
            return(n2);
        }
Exemple #2
0
 private NodoAvl rotacionDD(NodoAvl n, NodoAvl n1)
 {
     n.ramaDch(n1.subarbolIzq());
     n1.ramaIzq(n);
     // Verifica que que el arbol este en equilibrio
     if (n1.fe == +1) // de ser asi se cumplira esta funcion
     {
         n.fe  = 0;
         n1.fe = 0;
     }
     else
     {
         n.fe  = +1;//De lo contrario hara una rotacion derecha,derecha
         n1.fe = -1;
     }
     return(n1);
 }