Olá pessoal. Estou fazendo uma função que tem como parametros uma arvore binaria e uma informação e tem como retorno o pai do nó que contem a informação passada. Ela funciona perfeitamente quando o nó em questão é um no interno, mas quando é uma folha, minha função dá falha de segmentação. O que pode ser? Lembrando que estou usando recursão na função.
Arv* arv_pai (Arv* a, char c){ // 'a' e arvore e 'c' e a informaçao
if (a == NULL){ //Se arvore for vazia retorna NULL
return NULL;
}
if (a->sae->info == c || a->sad->info == c){ //sae e sad são as sub-arvores esquerda e direita
return a;
}
return arv_pai (a->sae,c); //chamo recursivamente para sae
return arv_pai (a->sad,c); //chamo recursivamente para sad
}
Pergunta
vla
Olá pessoal. Estou fazendo uma função que tem como parametros uma arvore binaria e uma informação e tem como retorno o pai do nó que contem a informação passada. Ela funciona perfeitamente quando o nó em questão é um no interno, mas quando é uma folha, minha função dá falha de segmentação. O que pode ser? Lembrando que estou usando recursão na função.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.