Code source du tri rapide
public static void triRapide(int tableau[])
{
int longueur=tableau.length;
triRapide(tableau,0,longueur-1);
}
private static int partition(int tableau[],int deb,int fin)
{
int compt=deb;
int pivot=tableau[deb];
for(int i=deb+1;i<=fin;i++)
{
if (tableau[i]<pivot)
{
compt++;
echanger(tableau,compt,i);
}
}
echanger(tableau,deb,compt);
return(compt);
}
private static void triRapide(int tableau[],int deb,int fin)
{
if(deb<fin)
{
int positionPivot=partition(tableau,deb,fin);
triRapide(tableau,deb,positionPivot-1);
triRapide(tableau,positionPivot+1,fin);
}
}