第一种
思路:1、用gap循环来缩组别;
2、用k记录每一组数的第一位(代码为k);
3、k+gap是用于插入排序的,记录未排序的数的第一位
4、进行插入排序
但k有个漏洞,这个k原来的作用只适用于第一次的分组
第二种
思路:下面的排序比上面的时间复杂度更低,下面代码开始是以第一个arr[gap]走,然后往前进行插入排序
第三种(优化版)
第三种对第二种进行了一个小优化
思路:1、用gap循环来缩组别;
2、用k记录每一组数的第一位(代码为k);
3、k+gap是用于插入排序的,记录未排序的数的第一位
4、进行插入排序
但k有个漏洞,这个k原来的作用只适用于第一次的分组
思路:下面的排序比上面的时间复杂度更低,下面代码开始是以第一个arr[gap]走,然后往前进行插入排序
第三种对第二种进行了一个小优化