Está en la página 1de 1

void balancear (AVLTree ** t) { if(!es_vacio(*t)) { if (altura (izquierdo (*t)) - altura (derecho (*t)) == 2)(2) { /* desequilibrio hacia la izquierda!

*/ if (altura ((*t)->izq->izq) >= altura ((*t)->izq->der))(3) /* desequilibrio simple hacia la izquierda */ rotar_s (t, true); else /* desequilibrio doble hacia la izquierda */ rotar_d (t, true); } else if (altura (derecho (*t)) - altura (izquierdo (*t)) == 2)(4) { /* desequilibrio hacia la derecha! */ if (altura ((*t)->der->der) >= altura ((*t)->der->izq)) /* desequilibrio simple hacia la izquierda */ rotar_s (t, false); else /* desequilibrio doble hacia la izquierda */ rotar_d (t, false); } } }

También podría gustarte