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
| Entrée :
T : Tableau à trier, indexé de 1 à n
d : entier, indice du début de la portion à trier.
f : entier, indice de la fin de la portion à trier.
Sortie :
T trié.
Pseudo-Code :
Fonction Principale : TRI( T , d , f )
SI d < f ALORS
q <- (d+f) / 2
TRI( T , d , q )
TRI( T , q + 1 , f )
T = FUSION( T[d..q], T[q+1..f])
FIN SI
Fonction FUSION( T1 , T2 )
i <- indice du début de T1
n <- indice de fin de T1
j <- indice du début de T2
m <- indice de fin de T2
k <- 1
TANT QUE i <= n et j <= m FAIRE
SI T1[i] < T2[j] ALORS
T[k] <- T1[i]
k <- k+1
i <- i+1
SINON
T[k] <- T2[j]
k <- k+1
j <- j+1
FIN SI
FIN TANT QUE
TANT QUE i <= n FAIRE
T[k] <- T1[i]
k <- k+1
i <- i+1
FIN TANT QUE
TANT QUE j <= m FAIRE
T[k] <- T2[j]
k <- k+1
j <- j+1
FIN TANT QUE
RENVOYER T |
Partager