Beispiel #1
0
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));
	}
}