Creer un arbre de recherche en langage C
Free spirit
-
Arya Dröttningu Messages postés 650 Statut Membre -
Arya Dröttningu Messages postés 650 Statut Membre -
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:
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:
- Creer un arbre de recherche en langage C
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Creer un fichier .bat - Guide
2 réponses
tu peux aller faire un tour sur ce site c'est assez bien expliqué : https://rperrot.developpez.com/articles/algo/structures/arbres/