var entier n = taille(t) si n <= 1 alors retourne t sinon pivot = t[ n / 2] var vecteur entier tinf, tegal, tsup pour i dans [0: n-1] faire si t[i] < pivot alors ajoute_en_fin(tinf, t[i]) sinon si t[i] > pivot alors ajoute_en_fin(tsup, t[i]) sinon ajoute_en_fin(tegal, t[i]) retourne tri(tinf) + tegal + tri(tsup)