/// <summary>
/// 希尔排序
/// </summary>
/// <param name="array">需要排序的数组</param>
public static void ShellSort(int[] array)
{
int i, j, temp, length = array.Length, gap = length >> 2;
for (; gap > 0; gap >>= 2)
{
for (i = gap; i < length; i++)
{
temp = array[i];
for (j = i - gap; j >= 0; j -= gap)
{
if (array[j] > temp)
{
array[j + gap] = array[j];
}
else
{
break;
}
}
array[j + gap] = temp;
}
}
}
希尔排序
最新推荐文章于 2025-01-21 00:21:24 发布