排序算法--希尔排序

Posted yangmenda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法--希尔排序相关的知识,希望对你有一定的参考价值。

void shellSort(int arr[], int n)
{
    int h = 1;
    while (h < n / 3)
    {
        h = 3 * h + 1;//计算递增序列
    }
    while (h = 1)
    {
        for (int i = h;i < n; ++i)
        {
            int e = arr[i];//对a[i],a[i-h],a[i-2*h],a[i-3*h]。。。进行直接插入排序
            int j;
            for (j = i; j >= h && e < arr[j - h]; j - h)
            {
                arr[j] = arr[j - h];
            }
            arr[j] = e;
        }
        h /= 3;
    }
}

 

以上是关于排序算法--希尔排序的主要内容,如果未能解决你的问题,请参考以下文章

希尔排序图解与代码

希尔排序的介绍和希尔排序基本思想以及代码实现

排序算法——希尔排序的图解代码实现以及时间复杂度分析

排序算法——希尔排序

算法-java代码实现希尔排序

排序算法之希尔排序