希尔排序是插入排序的改良版本,插入排序中前面是有序序列,每次将元素array[i]插入到前面有序序列中的合适位置,直接插入排序在插入时是逐个与前面的元素进行比较,即比较的步长为1,而希尔排序中,步长是一个逐渐变小的过程,对于数组6 5 3 1 8 7 2 4。例如第一次插入时步长为3,于是对于下标为0,1,2的元素不需要排序,从i=3即第4个元素开始进行插入,此时比较array[3]与array[0]的大小,如果array[3]<array[0],那么就将array[3]与array[0]进行交换,说明array[3]应该插入到前面去,然后i++在比较array[4]与array[1]的大小
排序7:希尔排序
最新推荐文章于 2023-09-12 14:06:45 发布