Você está na página 1de 1

std::optional<int> altura(T chave) const //acho que poderia chamar o contem é

ir somando para saber a autura


{
Nodo<int> *nodo = MinhaArvoreDeBuscaBinaria<int>::_raiz;
//segundo modo de fazer //ver se tambem vai dar certo
if(contem(chave)==true)//altura a partir deste nodo
{
//Chega no nodo solicitado
Nodo<T> *aux=this->_raiz; // indicando que a busca vai acontecer pela raiz
while (aux->chave != chave)
{
if(chave < aux->chave )
{
aux = aux->filhoEsquerda; //VAI PARA OS FILHOS A ESQUERDA e
}

else{
aux = aux->filhoDireita; //VAI PARA OS FILHOS A DIREITA
}
}
int altura = auxiliarAltura(aux); //aux=raiz da subarvore
return altura;

}
else if(contem(chave)==false)//se elemeto n~]ao contem na arvore
{
return std::nullopt;
}

else if(contem(chave)==false)//altura da arvore toda


{
int altura = auxiliarAltura(nodo); //nodo=raiz
return altura;
}

//return 0;
return std::nullopt;
};

Você também pode gostar