希尔排序

希尔排序

这玩意写题还好,自己写起来太绕了。。

#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);

}
posted @ 2022-04-11 21:34  huigugu  阅读(20)  评论(0编辑  收藏  举报