Quick sort ou tris rapide

Une des nombreuses implémentations du quick sort (tris rapide).
#include <stdio.h> void quick(int *, int p, int r); void quick(int *tab,int debut, int fin){ int pivot = debut; int g = debut; int d = fin; int tmp; do { if (tab[g] >= tab[d]){ tmp = tab[g]; tab[g] = tab[d]; tab[d] = tmp; pivot = g + d - pivot; } if (pivot == g){ d--; }else{ g++; } }while(g<d); if (debut < (g-1)){ quick(tab, debut, (g-1)); } if (fin > (d + 1)){ quick(tab, (d+1), fin); } }