希尔排序
算法描述:
希尔排序,也称递减增量排序算法,是【插入排序】的一种更高效的改进版本。但希尔排序是非稳定排序算法。
基本思想:
希尔排序是把序列按下标的一定【增量分组】,对每组使用直接【插入排序】算法排序;随着增量的逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个序列恰好被分为一组,算法便终止
代碼實現:
点击查看代码
public static void shellSort(int[] arr)
{
int num = arr.Length / 2;
while (num > 0)
{
for (int k = 0; k < arr.Length - num; k++)
{
for (int h = k; h < arr.Length - num; h++)
{
if (arr[h] > arr[k + num])
{
var tempitem = arr[h];
arr[h] = arr[k + num];
arr[k + num] = tempitem;
}
}
//輸出每一次交換后的數據
foreach (var item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine("");
}
num = num / 2;
}
}
浙公网安备 33010602011771号