作业帮 > 数学 > 作业

什么是希尔排序法希尔排序的具体实例

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/09/01 16:29:07
什么是希尔排序法
希尔排序的具体实例
基本思想:
将整个无序序列分割成若干小的子序列分别进行插入排序.
序列分割方法:将相隔某个增量h的元素构成一个子序列.在排序过程中,逐次减小这个增量,最后当h减到1时,进行一次插入排序,排序就完成.增量序列一般采用:ht=2t-1,1≤t≤[log2n],其中n为待排序序列的长度.
void prshl(p,n)
int n;double p[];
{
int k,j,i;
double t;
k=n/2;
while(k>0)
{
for(j=k;j=0)&&(p[i]>t))
{
p[i+k]=p[i];i=i-k;
}
p[i+k]=t;
}
k=k/2;
}
return;
}
希尔排序(缩小增量法)
属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序
先取一个正整数d1