算法——希爾排序(縮小增量排序)

希爾排序屬於插入類排序,是將整個有序序列分割成若干小的子序列分別進行插入排序;

public static int[] Shell_Sort(int[] array)
        {
            int d = array.Length / 2;
            while (d >= 1)
            {
                for (int i = 0; i < d; i++)
                {
                    for (int j = i + d; j < array.Length; j++)
                    {
                        if (array[j - d] > array[j])
                        {
                            int temp = array[j - d];
                            array[j - d] = array[j];
                            array[j] = temp;
                        }
                    }
                }
                foreach (var item in array)
                {
                    Console.Write(item);
                }
                Console.WriteLine("每次排序結果爲");
                d = d / 2;
            }
            return array;
        }

第一輪結束12435 第二輪結束 12345

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章