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
| Procédure Ajouter(x:entier; var B:Arbre)
variables A:Arbre
Début
Si(B=nil) alors //arbre vide
B<--CreerNoeud(val,nil,nil);
sinon
A<--B //A : pointeur pour chercher l'emplacement à insérer
val_inseree = FAUX
Tantque non val_inseree faire
Si (x<A^.val) alors
Si (A^.gauche=nil) alors
// ici on crée et rattache la nouvelle feuille à gauche
A^.gauche=CreerNoeud(val,nil,nil)
val_inseree<--VRAI
Sinon
A<--A^.gauche
Finsi
SinonSi (x>A^.val) alors
Si (A^.droite=nil) alors
// ici on crée et rattache la nouvelle feuille à droite
A^.droite=CreerNoeud(val,nil,nil)
val_inseree<--VRAI
Sinon
A<--A^.droite
Finsi
Sinon // ici on a obligatoirement x = A^.val
val_inseree<-VRAI // dans le cas où on ne garde pas de doublon
FinSi
Fin TantQue
FinSi
Fin |
Partager