希尔排序 就是 希尔这家伙提出的排序大伙记住他。
这厮,shellSort 就是建立在直接插入排序基础上,只不过是 他们次都有个增量,然后相隔增量的元素为一组 排序(以升序)
先看Code 吧;
void ShellSort(int a[],int n)
{
int d = n; //增量
int i;
while((d=d/2)>=1)
{
for( i=d;i<n;i++)
{
int current = a[i];
while(current<a[i-d] && i>0)
{
a[i]=a[i-d];
i =i-d;
}
a[i] = current ;
}
}
}