#include #include #include //etablissons la structure de notre arbre binaire typedef struct num { int valeur; struct num *fils_gauche; struct num *fils_droit; }arbre; arbre *creerarbre(arbre *A, int x, int n) { if (A==NULL) { A=(arbre*)malloc(sizeof(arbre));//creation de l'arbre A->valeur=x; //la racine prend une valeur x A->fils_gauche=NULL; //le fils de gauche pointe sur null A->fils_droit=NULL; //le fils de droit pointe sur null n++; //on incrémente le compteur pour atteindre le nombre de niveau souhaité }; if (n<=7) { A->fils_gauche=creerarbre(A->fils_gauche,0,n); //on appelle la fonction pour creer le sous arbre ayant le fils de gauche comme racine A->fils_droit=creerarbre(A->fils_droit,1,n);//on appelle la fonction pour creer le sous arbre ayant le fils de droit comme racine }; return A; } void parcoursprefixe(arbre *P) { if(P != 0) { printf("%d",P->valeur); parcoursprefixe(P->fils_gauche); parcoursprefixe(P->fils_droit); }; } int main() { arbre *R; R=(arbre*)malloc(sizeof(arbre)); R=creerarbre(R,0,1); parcoursprefixe(R); getch(); }