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); }
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); }