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

分析:
插入排序----希尔排序

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--;
	}	
}

相关文章:

  • 2021-09-03
  • 2021-05-02
  • 2021-12-31
  • 2022-03-04
  • 2021-11-04
  • 2021-08-02
  • 2021-10-23
猜你喜欢
  • 2021-04-21
  • 2021-10-19
  • 2022-02-21
  • 2022-12-23
  • 2021-10-06
  • 2022-01-02
相关资源
相似解决方案