Bonjour !
Je veux créer un arbre n aire en c, qui contient comme tête un élément spécial genre '#'.
J'ai déclaré ma structure comme suit :
typedef struct Arbre
{
char lettre;
char car;
struct Arbre * fils;
struct Arbre * frere;
} Arbre;
Dans cet arbre je veux insérer des mots , le arbre-> car est un élément spécial qui indique la fin du mot.
Dans ma fonction de création j'ai commencé comme ceci, mais je bloque pour la suite, faut dire que je suis un peu débutante en ce qui concerne les listes chainés et l'arborescence.
Tout d'abord on doit saisir une chaine qui représente le mot à insérer.
void CreerArbre(Arbre *Racine,char mot[])
{
Arbre *p,*q;
int i=0,l;
if(Racine==NULL)
{
Racine=(Arbre *)malloc(sizeof(Arbre));
Racine->fils=NULL;
Racine->frere=NULL;
Racine->lettre='#';
Racine->car='.';
p=Racine;
}
else
{
q=p;
p=p->fils;
l=strlen(mot);
if(p=NULL)
for (i=0;i<l;i++)
{
p=(Arbre *)malloc(sizeof(Arbre));
p->fils=NULL;
p->frere=NULL;
p->lettre=mot[i];
i=i+1;
if (i=l) p->car='.';
}
}
}
Merci de m'aider à créer cet arbre n aire
J'en ai vmt besoin !