private T removeOMaiorElementoDaArvore(ArvoreBuscaBinariaAVL<T> arvore) { T maiorElemento; if (arvore.ehNodoFolha()) { maiorElemento = arvore.elemento; arvore.esvazie(); return maiorElemento; } if (arvore.direita.elemento != null) return arvore.removeOMaiorElementoDaArvore(arvore.direita); maiorElemento = arvore.elemento; this.remove(arvore.elemento); return maiorElemento; }
private T removeOMenorElementoDaArvore(ArvoreBuscaBinariaAVL<T> arvore) { T menorElemento; if (arvore.ehNodoFolha()) { menorElemento = arvore.elemento; arvore.esvazie(); return menorElemento; } if (arvore.esquerda.elemento != null) return arvore.removeOMenorElementoDaArvore(arvore.esquerda); menorElemento = arvore.elemento; this.remove(arvore.elemento); return menorElemento; }