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
}
Question
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 to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.