希尔排序

Posted 潇湘

tags:

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

希尔排序

#include<iostream>
using namespace std;

int main()
{
    int r[100];
    int n;
    cin>>n;
    for(int i=1; i<=n; i++) cin>>r[i];
    for(int d=n/2; d>=1; d=d/2)
    {
        for(int i=d+1; i<=n; i++)
        {
            r[0]=r[i];
            int j;
            for(j=i-d; j>0&&r[0]<r[j]; j=j-d)
            {
                r[j+d]=r[j];
            }
            r[j+d]=r[0];
        }
    }
    for(int i=1; i<=n; i++) cout<<r[i]<<" ";
    return 0;
}

 

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

希尔排序

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)

希尔排序图解与代码

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

希尔排序JAVA代码

《算法》笔记 3 - 选择排序插入排序希尔排序