#include <stdio.h>
void dayin(int array[], int max) //max为数组元素最大值
{
for(int i = 0; i < max; i++)
{
printf("%-3d", array[i]);
}
printf("\n");
}
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void quicksort(int array[], int n, int low, int high)
{
int i=low, j=high+1;
while(i<j){
while(array[++i]<array[low]&&i<high);
while(array[--i]>array[low]);
if(i>=j) break;
else swap(&array[i], &array[j]);
}
if(array[i] >= array[low]) // 取等>=
{
i--;
}
swap(&array[low], &array[i]);
dayin(array, n);
quicksort(array, n, low, i);
quicksort(array, n, j, high);
}
// 主函数
int main()
{
int i,n,array[30];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&array[i]);
}
quicksort(array, n, 0, n-1); // 快速排序
return 0;
}
这个快速排序输出语句好像没有执行,大佬可以指导一下吗,谢谢