快速排序

时间复杂度:O(nlogn)

void quick_sort(int l,int r)
{
    if(l>=r) return;
    int mid=a[l+r>>1];
    int i=l,j=r;
    do{
        while(a[i]<mid) i++;//左半部分第一个大于等于基准数的位置
        while(a[j]>mid) j--;//右半部分第一个小于等于基准数的位置
        if(i<=j) {swap(a[i],a[j]);i++;j--;} 
    }while(i<=j)
    quick_sort(l,i-1);
    quick_sort(i,r);
}
原文地址:https://www.cnblogs.com/unravel-CAT/p/15354610.html