算法步骤

1.选择一个增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1;
2.按增量序列个数 k,对序列进行 k 趟排序;
3.每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 的子序列,分别对各子表进行直接插入排序。仅增量因子为 1 时,整个序列作为一个表来处理,表长度即为整个序列的长度。

图形演示

1.初始状态
希尔排序算法原理小结
2.设置步长为5,过5个位置将数据调换
希尔排序算法原理小结

3.更改步长变为2
希尔排序算法原理小结
4.调换结果
希尔排序算法原理小结
5.最后通过插入排序得到最终结果
希尔排序算法原理小结

相关文章: