希尔排序算法是什么

  介绍

这篇文章给大家分享的是有关希尔排序算法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

希尔排序就是直接插入排序的改进版,也属于一种插入排序。改进的地方在于每次遍历设置一个步长然后进行直接插入排序,完成一次遍历就将步长减半,直到步长小于等于1 .

由于每次移动都会移动一个步长的距离,而直接插入排序每次移动只移动一步,所以希尔排序的效率是要比直接插入排序的效率要高的。

希尔排序算法是什么

算法实现:

公共静态孔隙shellSort (int[]数组){   int一步=array.length;   而(真){   步骤/=2;   for (int i=0;我& lt;一步;我+ +){   for (int j=我+一步;j & lt;array.length;j +=步骤){   int tmp=array [j];   int j k=;   而(k祝辞=一步,,数组(k -步骤)比;{//tmp)将大于tmp的数往后移   数组[k]=[k -一步]数组;   k -=步骤;   }   数组[k]=tmp;//插入   }   }   如果(步骤& lt;=1)   返回;   }   }

感谢各位的阅读!关于希尔排序算法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

希尔排序算法是什么