希尔排序的实现

void ShellInsert(SqList L,int gap){
for (int i=gap;i<L.Length;++i){
for(int j=i+gap;j<L.Length+1;j+=gap){
if (L.elem[j]<L.elem[j-gap]){
int temp =L.elem[j];
int k=j-gap;
while (k>=1&&L.elem[k]>=temp){
L.elem[k+gap]=L.elem[k];
k-=gap;
}
L.elem[k+gap]=temp;

}
}

}

}

 

posted @ 2023-06-20 13:54  秋渡晚枫  阅读(10)  评论(0)    收藏  举报