#include
void quicksort(int a[],int left,int right);
int main()
{
int i;
int a[101],n;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
quicksort(a,1,n);
for(i=1;i<=n;i++)
printf("%d",a[i]);
return 0;
}
void quicksort(int a[],int left,int right) // 以a[left]为基准数
{
int i,j,t;
** if(left > right)
return;_**
i = left;
j = right;
while(i!=j)
{
while(a[j] >= a[left] && ileft] && iif(it = a[i];
a[i] = a[j];
a[j] = t;
}
}
t=a[left];
a[left] = a[i];
a[i] = t;
quicksort(a,left,i-1);
quicksort(a,i+1,right);
}
不知道为什么删掉子函数中的if(left > right) return;这两行后,输入完卡住了
你怎么可以删除这个if语句呢?没有这个if,会永远死循环递归的啊。