四十一:快速排序(递归)

只愿长相守 提交于 2019-11-30 02:21:31
#include"stdio.h"
void Quick_sort(int *a,int begin,int end)
{
     
    int middle,i,j;
    middle=a[begin];
    i=begin;
    j=end;
while(i<j)
    {
        while(i<j&&a[j]>=middle){
            j--;
            a[i]=a[j];
        while(i<j&&a[i<=middle]){
            i++;
            a[j]=a[i];
    }
        a[i]=middle;
        if(i-1<begin){
        Quick_sort(a,begin,i-1);
        if(end>i+1)
        Quick_sort(a,i+1,end);
}
        
int main(){

    int b[6]={2,3,5,9,6,4};
    int t;
    Quick_sort(b,0,5);
    for(t=0;t<6;t++)
    printf("%d  ",b[t]);
    return 0;

}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!