Esempio n. 1
0
        private NodoAvl rotacionID(NodoAvl n, NodoAvl n1)
        {
            NodoAvl n2;

            n2 = (NodoAvl)n1.subarbolDch();
            n.ramaIzq(n2.subarbolDch());
            n2.ramaDch(n);
            n1.ramaDch(n2.subarbolIzq());
            n2.ramaIzq(n1);
            // Se actualizan para la equilibracion
            if (n2.fe == +1)
            {
                n1.fe = -1;
            }
            else
            {
                n1.fe = 0;
            }
            if (n2.fe == -1)
            {
                n.fe = 1;
            }
            else
            {
                n.fe = 0;
            }
            n2.fe = 0;
            return(n2);
        }
Esempio n. 2
0
 private NodoAvl rotacionII(NodoAvl n, NodoAvl n1)
 {
     n.ramaIzq(n1.subarbolDch());
     n1.ramaDch(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 izquierda izquierda
         n1.fe = 1;
     }
     return(n1);
 }