// module: QuickSort.java // auteur: felipe // objet: une version possible du quick sort // illustration++ de la recursivite public class QuickSort { final static int TAILLE = 1000; // une constante // deja vu: echange de deux elements d'un tableau static void swap(int tab[], int a, int b) { // deja vu int tmp = tab[a]; tab[a] = tab[b]; tab[b] = tmp; } // choisir un pivot, mettre a gauche les valeurs inferieures, // a droite, les valeurs superieures (au pivot) // ici le pivot est le premier element de la table // ce qui n'est probablement pas optimal ! static int partitionne(int table[], int deb, int fin) { while (deb < fin) { // passe de droite vers la gauche while ((deb < fin) && (table[fin] >= table[deb])) fin--; if (deb < fin) { // permute puis commence une boucle dans l'autre sens swap(table,deb,fin); deb++; while ((deb