希尔排序是插入排序的一种
希尔排序的基本思想就是每次以基准值分组排序,越来越小,当基准值为1的时候,在同一排好序。每次排序尽量让整体有序
一般基准值都是长度 / 2 或者长度 / 3,直到 0 ,在同一排序
其实每组用的都是直接插入排序
希尔排序的分组和我们正常人分组不一样,比如下面都是分两组
只看看不出来比直接插入快到什么地方,按照思想写完代码在看一边;
首先要分组,在以这个分组数量进行插入排序
哈希排序我们起名叫做shellSort;
第一次分以长度/2的组数,之后每次/=2,这是个循环
每次除2 到最后必然小于等于0,有可能除不到分组为1,所以给循环加个条件,分组数>0进去
之后再以分组为1进行插入排序;
插入排序我们起名叫做insertSort
给4个参数,数组引用,其实位置,结束位置,分组数