Ejemplo n.º 1
0
  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;
  }
Ejemplo n.º 2
0
  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;
  }