Bonjour,

Soit ABR un type arbre binaire de recherche defini par un enregistement :
- gauche, droit de type ABR (pour les sous arbres)
- valeur de type entier
- haut, taille, dist de type entier (hauteur, taille, distance)

Code : 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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
procedure vide (a : ABR);
a := NIL
 
fonction estvide(a : ABR) : booleen;
estvide := a = NIL
 
procedure inser(x : entier, var a : ABR);
si estvide(a) alr 
  new(a) 
  a^.valeur := x
  a^.gauche := NIL
  a^.droit := NIL
sinon 
  si x = a^.valeur alr rien
  sinon si x <a^.valeur alors
    inser(x, a^.gauche)
  sinon
    inser(x, a^.droit)
 
 
fonction hauteur (a : ABR) : entier;
si estvide(a) alors 
  hauteur := 0
sinon 
  hauteur := a^.haut
 
fonction taille (a : ABR) : entier;
si estvide(a) alors 
  taille := 0
sinon 
  taille := a^.taille
 
fonction distance (a : ABR) : entier;
si estvide(a) alors 
  distance := 0
sinon 
  distance := a^.dist
Voilà, maintenant je n'arrive pas à mettre à jour a^.haut, a^.dist et a^.taille dans la procédure insertion, pouvez vous m'aider ?
Merci d'avance.