插入排序----希尔排序

希尔排序又称缩小增量排序,是对直接插入排序的优化

分析:
在这里插入图片描述

void ShellSort(int arr[], int size)
{
	int i = 0;
	int gap = 3;
	while (gap > 0)
	{
		for (i = gap; i < size; i++)
		{
			int key = arr[i];
			int end = i - gap;
			//找插入位置
			while (end >= 0 && key < arr[end])
			{
				//搬移数据
				arr[end + gap] = arr[end];
				end -= gap;
			}
			//插入元素
			arr[end + gap] = key;
		}
		gap--;
	}	
}

猜你喜欢

转载自blog.csdn.net/huaijiu123/article/details/82845675
今日推荐