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 42 43 44 45 46 47 48 49
| t_ArbreWC(fg As t_ArbreWC,fd As t_ArbreWC,Lettre As String)
*******************************************************************************
LOAD_MOTS
Du premier mot au dernier faire
ArbreWC = INSERTION( ArbreWC, StrX )
*******************************************************************************
INSERTION(Arbre As t_ArbreWC, Mot As String)t_ArbreWC
Dim Result As t_ArbreWC
if Arbre is Nil Then
Result = CREER_ARBRE( Mot )
else
Lettre = Mid( Mot, 1, 1 )
if Arbre.Lettre = Lettre Then
if Lettre <> FindeMot Then
Arbre.fg = INSERTION( Arbre.fg, Mot )
Mot = Right( Mot, Len(Mot)-1 ) // On efface la première lettre du mot.
end if
elseif Arbre.Lettre > Lettre Then
Result = CREER_ARBRE( Mot )
Result.fd = Arbre.fd
else
Arbre.fd = INSERTION( Arbre.fd, Mot )
end if
end if
Return Result
*******************************************************************************
CREER_ARBRE(Mot As String)t_ArbreWC
Dim Result As t_ArbreWC
Lettre = Mid( Mot, 1, 1 )
CREATION_CELL( Result, Lettre )
Mot = Right( Mot, Len(Mot)-1 )
Lettre = Mid( Mot, 1, 1 )
if Lettre <> FindeMot Then
Result.fg = CREER_ARBRE( Mot )
end if
Return Result
*******************************************************************************
CREATION_CELL(ByRef p_Elemt As t_ArbreWC, Lettre As String)
p_Elemt = New t_ArbreWC
p_Elemt.Lettre = Lettre
******************************************************************************* |
Partager