问题遇到的现象和发生背景
在学习希尔排序
遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include <stdio.h>
#include<stdlib.h>
void swap (int *a, int *b)
{
int tem;
tem = *a;
*a = *b;
*b = tem;
}
void Shell_Sort (int a[], int n)//希尔排序,由小到大
{
int gap = 1;
int i, j;
while (gap < n/3)
{
gap = 3*gap + 1;//最大gap
}
while (gap > 0)
{
for (i = gap; i < n; ++i)
{
for (j = i - gap; j >= 0 && a[j] > a[i]; j -=gap)//如果比同一组的前一个大则交换位置
{
swap (&a[i], &a[j]);
}
}
gap = gap/3;
}
}
int main ()
{
system ("color f0");
int a[6], i;
for(i = 0; i < 6; i++)
{
scanf("%d", &a[i]);
}
Shell_Sort(a, 6);
for(i = 0; i < 6; i++)
{
printf("a[%d] = %d\t", i, a[i]);
}
return 0;
}
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
没什么思路……