代码及BUG图片,我就在quicksort函数的入口处设了一处断点而已,按了下调试就这样了:
/
Tue Mar 24 20:10:10 2020
目的:快排练习
结论:
功能:
/
int n,a[101];
void quicksort(int left , int right)
{
int i, j, temp,t;
i = left;
j = right;
temp = a[left];
while(i != j)
{
while(a[j] >= temp && i<j)
{
j--;
}
while(a[i] <= temp && i<j)
{
i++;
}
if(i < j)
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
a[left] = a[i];
a[i] = temp;
quicksort(left,i-1);
quicksort(i+1,right);
}
int main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
quicksort(1,n);
for(i=1;i<=n;i++)
printf("%d",a[i]);
return 0;
}
重启软件就行了
– 墨梅渐盛 4年前