tri_fusion(T):
// si tableau vide ou 1 élement uniquement
si(taille(T) = 1 ou taille(T) = 0) return T // renvoie du tableau sans modifications
T1, T2 = decoupe_milieu(T) // scindé T en deux tableaux ~égale
T1, T2 = tri_fusion(T1), tri_fusion(T2) // tri des deux tableaux
return fusion(T1, T2) // récursivité des deux listes T1 et T2 fusionnée dans l'ordre