bonsoir, j'ai trouvé ce code qui fonctionne bien et qui permet d'ajouter un élément a un ABR :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
arbre* Ajout(arbre *racine, arbre *elt)
  {
    if(racine == NULL)
    {
        return elt;
    }
    else
        if(elt->info < racine->info)
        {
 
            racine->FG = Ajout3(racine->FG,elt);
        }
        else
        {
            racine->FD = Ajout3(racine->FD,elt);
        }
  }

ce que je comprends pas c'est comment la racine de l'arbre sera retournée au programme principale
sans ajouter l'instruction return racine comme j'ai fais dans cette version personnalisée :


Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
arbre* Ajout3(arbre *racine, arbre *elt)
  {
 
    if(racine == NULL)
    {
        return elt;
    }
    else
        if(elt->info < racine->info)
        {
 
            racine->FG = Ajout3(racine->FG,elt);
            return racine;
 
        }
        else
        {
            racine->FD = Ajout3(racine->FD,elt);
            return racine;
        }