【Sort】希尔排序

时间:2025-02-21 00:04:56

  希尔排序(ShellSort),缩小增量排序,使用希尔增量时最坏运行时间O(n^2),不同的增量会对运行时间产生显著影响。

  

 void shellsort(int *nums,int n)
{
int gap,i,j;
int tmp;
for(gap=n/;gap>;gap/=)        //改变增量
{
for(i=gap;i<n;i++)
{
tmp=nums[i];
for(j=i;j>;j-=gap)
if(tmp<nums[j-gap])
nums[j]=nums[j-gap];
else
break;
nums[j]=tmp;
}
}
}