#include
#include
void xishu(int a[], int n)
{
int i, j;
int d = n / 2;
while(d > 0)
{
for (j = 0, i = d; i < n; i++,j++)
{
if (a[i] < a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
d = d / 2;
}
}
void main()
{
for (int i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
xishu(a, 10);
printf("\n");
for (int j = 0; j < 10; j++)
{
printf("%3d", a[j]);
}
system("pause");
}
这是我根据希尔排序思想自己写的程序,程序可以执行出来,但是为什么每次都是有一个数是乱的,其他都是有序的啊,求大神解答?