希尔排序
希尔排序
这玩意写题还好,自己写起来太绕了。。
#include<stdio.h>
void shell_sort(int arr[])
{
int gap, i, j, temp;
for (gap = 10 / 2; gap > 0; gap /= 2)
{
for (i = gap; i < 10; i++)
{
temp = arr[i];
for (j = i - gap; j >= 0; j = j - gap)
{
if (temp < arr[j])
{
arr[j + gap] = arr[j];
}
else {
break;
}
}
arr[j + gap] = temp;
}
}
}
int main()
{
int arr[10] = { 9,3,5,7,1,2,4,6,8,0 };
shell_sort(&arr);
}