/* ce programme, incomplet, permet de fabriquer un arbre binaire de recherche, en entrant une suite de donnees et en terminant par -1. Une fonction de dessin est prevue mais non ecrite. Cette fonction ne devra traiter que le cas des arbres de hauteur au plus 4. La fonction dessiner fera figurer la racine de l'arbre sur la gauche du dessin, chaque niveau se trouvant donc vertical. Il est peut-etre plus facile de concevoir la fonction dessiner de facon recursive.*/ #include #include #define delta 6 #define largeur_max 8 #define h_tot 4 typedef struct noeud { int donnee; struct noeud * FG, * FD; }Noeud; int table[5]; Noeud * construire(void); Noeud * inserer(Noeud *, int); void dessiner(/*A COMPLETER*/); int main() { Noeud * arbre; arbre=construire(); if (arbre!=NULL) dessiner(/*A COMPLETER*/); return 0; } Noeud * construire(void) { Noeud * rac=NULL; int nombre; printf("Indiquer les donneees et terminer par -1\n"); scanf("%d",&nombre); while (nombre!=-1) { rac=inserer(rac,nombre); scanf("%d",&nombre); } return rac; } Noeud * inserer(Noeud * racine, int la_donnee) { Noeud * p; p=(Noeud *)malloc(sizeof(Noeud)); p->donnee=la_donnee; p->FG=p->FD=NULL; if (racine==NULL) return p; else if (la_donnee<=racine->donnee)racine->FG=inserer(racine->FG,la_donnee); else racine->FD=inserer(racine->FD,la_donnee); return racine; } void dessiner (/*A COMPLETER*/) { /* A COMPLETER */ }