Code source du tri rapide
partition(tableau T, entier premier, entier dernier)
debut
entier compteur, pivot, i
compteur<-premier
pivot<-T(premier)
pour i=deb+1 à dernier faire
si T(i)<pivot alors //si l'élément est inférieur au pivot
compteur<-compteur+1 //on incrémente le compteur (modification de la place finale du pivot)
echanger(T,compteur,i) //on place l'élément à la position finale du pivot
fin si
fin pour
echanger(T,compteur,premier) //on place le pivot à sa place
retourner(compteur) //on renvoie la position finale du pivot
fin
tri_rapide_bis(tableau T, entier premier, entier dernier)
debut
entier pivot
si premier<dernier alors //condition d'arret de la récursivité
pivot<-partition(T,premier,dernier) //partition du tableau en 2
tri_rapide_bis(T,premier,pivot-1) //tri de la premiére partition
tri_rapide_bis(T,pivot+1,dernier) //tri de la seconde partition
fin si
fin
tri_rapide(tableau T)
debut
tri_rapide_bis(T,0,taille(T)-1)) //tri du tableau entier
fin