当我们将小的数据放在插入排序后边的时候,那么就会导致插入排序进行大量的移动。
那么希尔排序的出现就是为了解决插入排序存在的问题
希尔排序的本质:分组排序
希尔排序是怎么做的??
如图所示:
第一轮:两两分成一组,这连个数需要间隔数据长的一半,然后进行比较。
第二轮:每四个分成一组,每个数据间隔数据长度的一半的一半,然后进行对比交换。
第三轮:每六个分成一组,每个数据间隔数据长度一半的一半,然后进行对比交换
第四轮:整体分成一组,然后进行对比交换。
最后整体如图所示: