void ShellInsert(SqList L,int dk){
int i;//直接插入排序就是当dk=1时的希尔排序
for (i=1+dk;i<=L.Length;i++){
if(L.elem[i]<L.elem[i-dk]){
L.elem[0]=L.elem[i];
L.elem[i]=L.elem[i-dk];
int j;
for (j=i-dk;j>0&&L.elem[0]<L.elem[j];j-=dk){
L.elem[j+dk]=L.elem[j];
}
L.elem[j+dk]=L.elem[0];
}
}
}
PTA 6-5 希尔排序的实现
最新推荐文章于 2023-07-12 23:43:29 发布