初学快排算法

80 阅读1分钟

实现快排大概步骤:

void qiuk_sort(int q[],int l,int r){
    if (l>=r){
        return ;
    }
    int x=q[l],i=l-1,j=r+1;//索引扩大
    while (i<j){
        do i++;while(q[i]<x);//do-while循环
        do j--;while(q[j]>x);
        if (i<j){
            swap(q[i],q[j]);//交换
        }
    }
    qiuk_sort(q,l,j);//将前一部分进行递归
    qiuk_sort(q,j+1,r);//将后一部分进行递归
}
}