Les sources et algorithmes C++
Tri rapide récursif
La source
int partitionner(int* tableau, int p, int r)
{
int pivot = tableau[p], i = p-1, j = r+1;
int temp;
while(true)
{
do j--; while(tableau[j] > pivot);
do i++; while(tableau[i] < pivot);
if(i<j)
{
temp = tableau[i];
tableau[i] = tableau[j];
tableau[j] = temp;
}
else return j;
}
}
void quickSort(int* tableau, int p, int r)
{
if(p<r)
{
int q = partitionner(tableau, p, r);
quickSort(tableau, p, q);
quickSort(tableau, q+1, r);
}
}
Explications
Les deux fonctions permettent de trier un tableau d'entiers grâce à l'algorithme du tri rapide (quicksort). Pour plus d'explications sur le fonctionnement de cette algorithme, voici un lien vers un article wikipédia : https://fr.wikipedia.org/wiki/Tri_rapide