Creer un arbre de recherche en langage C

Fermé
Free spirit - 13 nov. 2010 à 11:38
Arya Dröttningu Messages postés 581 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 3 janvier 2019 - 13 nov. 2010 à 12:01
Bonjour,

je viens d'écrire un programme pour la création d'un arbre binaire de recherche, mais l'exécution ne fonctionne pas totalement, le programme fait un bug des que l'exécution de la fonction insert, je vous demande de m'aider a trouver l'erreur(le programme est compilé) voici mon code:
#include <stdlib.h>
#include <stdio.h>

typedef struct no*arbre;
typedef struct no
{
        arbre droit;
        arbre gauche;
        int etiqu; 
}noeud;

int recherche(arbre a, arbre *prd, int val)
 {  if (a==NULL)
       return (0);
    else
    
      { if (a->etiqu==val) return (1);
      else { *prd=a;
                if (a->etiqu==val) 
               
                  return (recherche(a->gauche, prd, val));
                
              else
              
                  return  (recherche(a->droit, prd, val));
                  
                  
    } 
   }
  }


void insert(arbre *racine, int val)
 { arbre prd=NULL; arbre a;
   if (recherche(*racine, &prd, val)==1) printf ("existe deja");
   else { a=(arbre)malloc(sizeof(noeud));
          a->etiqu=val;
          a->droit=NULL;
          a->gauche=NULL;
          
          if(prd!=NULL)
           if(val<prd->etiqu) prd->gauche=a;
            else prd->droit=a;
          else *racine=a;
            }
}


int main()


{int n; arbre *racine; int i;
racine=NULL;
 while (i!=0)
  {
       printf("donnez la valeur a inserer");
       scanf("%d", &n);   
       insert(racine, n);
        printf("si vous voulez arreter l'ajout d'elements dans l'arbre tapez 1");
       
  }     
       
  return (3);
  }










A voir également:

2 réponses

Arya Dröttningu Messages postés 581 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 3 janvier 2019 157
13 nov. 2010 à 11:41
Bonjour,
je ne sais pas si ça vient de là mais l'arbre "racine" n'est jamais alloué
0
Arya Dröttningu Messages postés 581 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 3 janvier 2019 157
13 nov. 2010 à 12:01
tu peux aller faire un tour sur ce site c'est assez bien expliqué : https://rperrot.developpez.com/articles/algo/structures/arbres/
0