bonjour jai un prb au niveau insertion arbre binaire representation indexee quelqun peut coorige mes erreur
<code type="c">
#include <stdio.h>
#include <stdlib.h>
struct node { int val ; int g,d;};
struct arbreT { int r;struct node T[100];
};
//INITIALISÉ L'ARBRE A VIDE
int initial (arbreT B,int i,int r)
{ i==0;
return i;
}
void insertion (arbreT B, int i,int e)
{
if (i==0)
B.T[i].val = e ;
B.T[i].g = 0;
B.T[i].d = 0;
else
insertion (B,B.T[i].d,e);
else {insertion (B,B.T[i].g,e);
}
void parcours( arbreT B, int i ) /* fonction parcours infixe */
{
if (B.T[i].g == -1) printf("%d ", B.T[i].val);
else parcours(B, B.T[i].g);
if (B.T[i].d == -1) printf("%d ", B.T[i].val);
else parcours(B, B.T[i].d);
}
// AFFICHAGE DE L'ARBRE
void affich_infix (arbreT B,int i)
{ if (i!=-1)
{ affich_infix (B, B.T[i].g);
printf ("/%d/", B.T[i].val);
affich_infix (B, B.T[i].d);
}}
void affich_prefix (arbreT B,int i)
{ if (i!=-1)
{ printf ("/%d/", B.T[i].val);
affich_prefix (B, B.T[i].g);
affich_prefix (B, B.T[i].d);
}}
void affich_postfix (arbreT B,int i)
{ if (i!=-1)
{
affich_postfix (B, B.T[i].g);
affich_postfix (B, B.T[i].d);
printf ("/%d/", B.T[i].val);
}}
bool estfeuille(arbreT B,int i,char T)
{
if (i==-1)
return 0;
else if ((B.T[i].g == -1)+(B.T[i].d == -1));
return 1;
}
bool taille( arbreT B,int i)
{
if(i==-1)
return 0;
else
return (1+(taille(B,B.T[i].g))+(taille(B,B.T[i].d)));
}
int recherche_val ( arbreT B, int i,int e)
{
if (i==-1)
return 0 ;
else
if (B.T[i]. val == e) return 1;
else if ( B.T[i]. val > e) return recherche_val (B, B.T[i].g , e);
else return recherche_val (B, B.T[i].d, e);
}
main ()
{
arbreT B; int i;
initial (B,i);
int j,n,e;
printf ("donner le nombre de feuille de l'arbre: ");
scanf ("%d",&n);
printf ("affichage infixe G R D\n" );
affich_infix ( B,i);
printf ("\n affichage prefixe R G D\n" );
affich_prefix (B,i);
printf ("\n affichage postfixe G D R \n" );
affich_postfix (B,i);
printf ("\n donner l'element a voir si il existe ");
scanf ("%d",&e);
system ("pause");
}
</code>
Partager