char* afficheArbre(Arbre* arbre){ char* res = malloc(33*puissance(2, arbre->profondeur) - 22); if(arbre->droit == NULL && arbre->gauche == NULL){ sprintf(res, "[%d, %lu]", arbre->lettre, arbre->poids); } else { char* gauche = afficheArbre(arbre->gauche); char* droite = afficheArbre(arbre->droit); sprintf(res, "%lu, gauche(%s), droit(%s)", arbre->poids, gauche, droite); free(gauche); free(droite); } return res; }
void afficheArbre(Arbre* a) { if(!arbreVide(a)) { printf("noeud actuelle: "); afficheElm(a->info); printf(".....fils gauche: "); if(succGauche(a)) afficheElm(succGauche(a)->info); else printf("[NULL]"); printf(".....fils droit: "); if(succDroit(a)) afficheElm(succDroit(a)->info); else printf("[NULL]"); printf("\n"); afficheArbre(succGauche(a)); afficheArbre(succDroit(a)); } }