/*! * Realiza uma rotação simples à esquerda e retorna o resultado da rotação. * @param nodo O nodo que será rebalanceado. */ NoAVL<T>* simp_roda_esq(NoAVL<T>* nodo) { NoAVL<T>* temporario; temporario = nodo->getEsquerda(); nodo->esquerda = temporario->getDireita(); temporario->direita = nodo; this->atualizaAltura(temporario); this->atualizaAltura(nodo); return temporario; }
NoAVL<T>* NoAVL<T>::rotacaoSimplesEsquerda(NoAVL<T>* X) { NoAVL<T>* Y; Y = X->getEsquerda(); X->esquerda = Y->getDireita(); Y->direita = X; this->atualizaAltura(Y); this->atualizaAltura(X); return Y; }