希尔排序算法的实现条件,希尔排序算法的实现形式
如何解决写爬虫IP受阻的问题?立即使用。
Hill排序是直接插入排序的改进版本,也是一种插入排序。改进之处在于为每次遍历设置一个步长,然后直接插入排序。完成一次遍历后,步长将减半,直到步长小于或等于1。
(推荐教程:java入门)
因为每走一步会移动一步的距离,而直接插入排序每走一步只移动一步,所以希尔排序的效率比直接插入排序高。
(学习视频推荐:java课程)
算法实现:
公共静态void shellSort(int[] array) {
int step=array.length
while (true) {
step/=2;
for(int I=0;我迈步;i ) {
for (int j=i步;j数组.长度;j=步骤){
int tmp=array[j];
int k=j;
while(k=step array[k-step]tmp){//将大于tmp的数后移。
array[k]=array[k步];
k-=步长;
}
array[k]=tmp;//插入
}
}
如果(步长=1)
返回;
}
}以上是Hill排序算法实现的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。