Bonjour,
je n'arrive pas a trouvé le problème dans mon code, il est censé crée un tableau avec des int compris entre 0 et 3000 puis le trié avec l'algorithme du tri rapide, mais le resultat n'est pas celui attendu (les elements ne sont pas bien trié) mais je ne trouve pas l'erreur
pour moi c'est censé fonctionner 
public static void triRapide(int[] tableau, int debut, int fin)
{
if(debut < fin)
{
int pivot = rand.nextInt(fin+1-debut)+debut;
partitionner(tableau, pivot, debut, fin);
triRapide(tableau, debut, pivot);
triRapide(tableau, pivot+1, fin);
}
}
public static void main(String[] args)
{
int[] tableau = new int[100];
for(int i = 0 ; i < 100 ; i++)
tableau[i] = rand.nextInt(3000);
triRapide(tableau, 0, tableau.length-1);
for(int i = 0 ; i < tableau.length ; i++)
System.out.println(tableau[i]);
}
private static void partitionner(int[] tableau, int pivot, int debut, int fin)
{
int selecteurG = debut, selecteurD = fin, temp;
while(true)
{
while(selecteurG < selecteurD && tableau[selecteurG] <= tableau[pivot])
selecteurG++;
while(selecteurG < selecteurD && tableau[selecteurD] >= tableau[pivot])
selecteurD--;
temp = tableau[selecteurG];
tableau[selecteurG] = tableau[selecteurD];
tableau[selecteurD] = temp;
if(selecteurG >= selecteurD) return;
}
}