有趣的快排~

从学弟博客那学到了一个简短的快排

最后实现的是:left到index的元素小于基准元素,index到i之间的元素大于基准元素

void qsort(int a[],int left,int right){
    if(right<=left)return ;
    int index=left;//充当左指针
    for(int i=left+1;i<=right;i++){
        //当a[i]<a[left]时,交换,左指针右移。
        if(a[i]<a[left])swap(a,++index,i);
    }
    swap(a,index,left);
    qsort(a,left,index-1);
    qsort(a,index+1,right);
}

猜你喜欢

转载自blog.csdn.net/m0_37579232/article/details/85343086