raikone14
(usa Debian)
Enviado em 25/11/2013 - 01:24h
Sam L. escreveu:
void MOstra_dois filhos(Arv *a){
if(a==NULL)
return;
if(a !=NULL){
if(a->esq != NULL && a->dir != NULL){
printf("%d\t", a->info);
return;
}
}
MOstra_dois filhos(a->esq);
MOstra_dois filhos(a->dir);
}
O if (a != NULL) é redundante, pois com primeiro if já é possível ter certeza que "a" é não nulo, então apague o "if (a != NULL)".
No bloco do if(a->esq != NULL && a->dir != NULL) não se deve retornar, pois outros nós podem ter filhos completos então remova a linha com return.
desculpa cara encher seu saco,mas é que to querendo apreender essa bagaça. :D
então eu fiz a seguinte àrvore:http://imageshack.us/photo/my-images/440/7z0i.png/
e usando essa função que vc passou,ele só retornou o 8.
o certo não seria ele mostrar 8,4 e 10?
Muitíssimo obrigado por seu tempo ai brother...