码迷,mamicode.com
首页 > 编程语言 > 详细

快速排序-quickpow

时间:2019-03-12 15:33:40      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:src   技术   weixin   .com   mamicode   col   etag   inf   target   

友链:https://blog.csdn.net/weixin_42060896/article/details/88168462?tdsourcetag=s_pcqq_aiomsg

技术图片

 

 

[l,r]区间不断逼近,直到区间长度为一是停止

void quicksort(int a[],int x,int y)
{
    int p=a[x];//p是[l,r]区间内中间大的数,x是p的下标
    int l=x,r=y;
    if(l>r)
        return;
    while(l<r)
    {
        while(l<r&&a[r]>=p)
            r--;
        while(l<r&&a[l]<=p)
            l++;
    //以上两个while循环执行完毕之后,得到的a[l]是大于p,a[r]是小于p,所以要交换才符合
        int temp;
        temp=a[l];
        a[l]=a[r];
        a[r]=temp;
    }
    //将区间[x,y]中间大的数p放到中间位置,并为下一次排序准备
    a[x]=a[l];
    a[l]=p;
    quicksort(a,x,l-1);
    quicksort(a,l+1,y);
    
}

 

快速排序-quickpow

标签:src   技术   weixin   .com   mamicode   col   etag   inf   target   

原文地址:https://www.cnblogs.com/-citywall123/p/10516878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!