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);
            }
        }