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 38 39 40 41
|
DicoAjoute(mot, dico) =
Si mot est vide et que dico = Vide Alors
On renvoie ('*', Vide, (Vide, '~', Vide))
SinonSi mot est vide et que dico != Vide Alors
Si dico->etiq = '*' Alors
On renvoie dico car il n'y a rien à rajouter
Sinon
On renvoie (dico->etiq, dico->ag, DicoAjoute(mot, dico->ad)) car
cela revient à rajouter le mot vide dans le fils droit de dico
FinSi
SinonSi mot n'est pas vide et dico = Vide Alors
On renvoie (mot[0], DicoAjoute(la fin du mot, Vide), Vide) car
on rajoute la fin de mot dans un arbre Vide, qu'on accroche à la branche gauche de notre noeud nouvellement créé
Sinon (* Dans ce cas, le mot n'est pas vide et le dictionnaire non plus *)
Si dico->etiq = mot[0] Alors
On renvoie (dico->etiq, DicoAjoute(fin de mot, dico->ag), dico->ad)
car cela revient à rajouter la fin de mot dans le fils gauche du dico
Sinon
On renvoie (dico->etiq, DicoAjoute(mot, dico->ad)) car cela revient
à rajouter mot dans le fils droit de dico
FinSi
FinSi
FinSi |