JAVA快速排序

public class Quick
{
    public static void main(String []args)
    {
        int arr[]={24,3,1,3,2,23,24,12,144,23,11,12,13,14,32,21,13};
        Quick q=new Quick();
        q.quick(arr,0,arr.length-1);
        for (int i=0;i<arr.length;i++)
        {
            System.out.println("第"+i+"个数是: "+arr[i]);
        }
    }
    public void quick(int a[],int i,int j)
    {
        int r=i;
        int w=j;
        int x=a[i];
        while (i<j)
        {
            while (i<j & x<=a[j])
            {
                j--;
            }
            if (i<j)
            {
                a[i++]=a[j];
            }
            while (i<j & x>a[i])
            {
                i++;
            }
            if (i<j)
            {
                a[j--]=a[i];
            }
        }
        a[i]=x;
        System.out.println("下标为:"+i);
        if (r<i)
        {
            quick(a,r,i-1);
            quick(a,i+1,w);
        }
    }
}

原文地址:https://www.cnblogs.com/MR-Guo/p/3337435.html