希尔排序基本思想:
先将整个待排序序列分割成若干子序列,每个子序列由相差一定长度的数据元素组成(这个相差的长度称为增量),然后我们分别对这些子序列进行直接插入排序[个人认为是交换排序],一轮排序后再取第二个增量,以此类推,需要注意的是,对于希尔排序中增量的确定没有统一的规定,通常做法是:第一个增量为待排序序列长度的二分之一(取整),然后逐渐减半(取整),直到等于1为止。
代码:
测试代码:
希尔排序基本思想:
先将整个待排序序列分割成若干子序列,每个子序列由相差一定长度的数据元素组成(这个相差的长度称为增量),然后我们分别对这些子序列进行直接插入排序[个人认为是交换排序],一轮排序后再取第二个增量,以此类推,需要注意的是,对于希尔排序中增量的确定没有统一的规定,通常做法是:第一个增量为待排序序列长度的二分之一(取整),然后逐渐减半(取整),直到等于1为止。
代码:
测试代码: