希尔排序

比如有【32,12,9,37,45,29,10,5,43,39】

第一步分组:

按照数组长度一半来分组,len/2 = 5,间隔5个数分一组,按颜色来分组

321293745291054339

第二步分组内排序,相同颜色组内进行插入排序,得到如下结果:

29105,37,3932129,43,45

第三步,继续执行分组,知道间隔为1, 这次间隔等于5/2取整2或者3都可以,我们以2来继续分组

29,10,5,37,39,32,12,9,43,45

第四步,组内排序,结果如下

5,9,12,10,29,32,39,37,43,45

第五步,重复分组,间隔1,组内排序

5,9,10,12,29,32,37,39,43,45

 

posted on 2021-01-17 16:45  养家糊口的程序员  阅读(47)  评论(0)    收藏  举报

导航