快速排序 代码实现

void quickSort(int a[],int l,int r) //a[]是要排序的数组,
{
    int i,j,x;
    if(l<r)
    {
        i=l;
        j=r;
        x=a[l];   //另a[l]为基数
        while(j>i)
        {
            while(j>i&&a[j]>=x) //找到比那个基数小的值
            j--;              //向左移
            if(j>i)
            a[i++]=a[j];   //把基数移到了a[i]的位置
            while(j>i&&a[i]<x) //找到比那个基数大的值
            i++;               //向右移
            if(j>i)
            a[j--]=a[i];    //把基数移到了a[j]的位置;
        }
        a[i]=x;
        quickSort(a,l,i-1);
        quickSort(a,i+1,r);
    }
}

你可能感兴趣的:(快速排序 代码实现)