Drgata 2019-11-16 11:13 采纳率: 0%
浏览 185
已采纳

刚学C语言,求大佬看看,为什么我只能输出here1,然后就没了?是哪里错了?

#include
int main()
{
int num[]={23,45,17,11,13,89,72,26,3,17,11,13};
void quicksort(int num[12],int begin,int end);
int begin,end,i;

begin=0;end=11;
quicksort(num,begin,end);

 for(i=0;i<12;i++){
    printf("%4d",num[i]);
 }

 return 0;

}

void quicksort(int num[12],int begin,int end){
if(begin int i=begin;
int j=end;
int temp=num[begin];
while(i while(itemp){
j--;
}
num[i]=num[j];
while(i<j&&num[i]<temp){
i++;
}
num[j]=num[i];
}
num[i]=temp;
printf("here1");
quicksort(num,begin,i-1);//左边
printf("here2");
quicksort(num,i+1,end);//右边

printf("here3");
}else{
return;
}
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-11-16 14:51
    关注

    quicksort没有贴对,看着问题很多,也没有写对
    参考这个
    https://www.cnblogs.com/yuiffy/p/4423666.html
    代码贴正确了才好调试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?