bonjour, j'ai un petit probleme, je suis entrain de creer un arbre binaire mais voila des que j utilise une fonction recursive ca plante comme si je n'avais pas bien pointer.
voici mon code qui pose probleme:
Code :
- void CreerNoeud(struct Arbre **Racine,int valeur)
- {
- if (Racine!=NULL)
- {
- if ((*Racine)->Noeud>valeur)
- {
- CreerNoeud(&(*Racine)->SAG,valeur);// <--------------------------c'est ici que ca plante
- }
- else
- {
- CreerNoeud(&(*Racine)->SAD,valeur);//<------------------------------ici aussi
- }
- }
- else
- {
- printf("\n test" );
- *Racine=(struct Arbre *)malloc(sizeof(struct Arbre));
- (* Racine)->Noeud=valeur;
- (*Racine)->SAD=NULL;
- (*Racine)->SAG=NULL;
- }
- }
|
l'appel dans le main :
Code :
- struct Arbre * Racine ;
- printf("Saisir un entier (0 pour finir la saisie) : " );
- scanf("%d",&valeur);
-
- while (valeur != 0)
- {
- CreerNoeud(&Racine,valeur);
- printf("\n test %d",Racine->Noeud);
- printf("Saisir un entier (0 pour finir la saisie) : " );
- scanf("%d",&valeur);
- // Racine->SAG=NULL;
- //Racine->SAD=NULL;
-
- }
|
merci d'avance de votre aide
Message édité par gregory8500 le 12-11-2009 à 23:52:36