0
点赞
收藏
分享

微信扫一扫

Java算法——排序——希尔排序

算法描述:

希尔排序的思想是使得数组arr 中任意间隔为gap的元素都是有序的。并将这样的数组称为gap有序数组,一个有序数组就是gap个互相独立的有序数组编织在一起组成的数组arr。间隔h也称增量gap,目前最优增量最初取值 gap = (arr.length / 2) + 1,以后依次减半即gap = gap / 2;

        具体实现可参考下列代码

public class ShellSort{
public void shellsrot(Object[] array){
//定义一个增量
int gap;
int j;
for (gap = (array.length / 2) + 1; gap > 0; gap/=2) {
for (int i = grap; i < array.length ; i++) {
Object temp = array[i];
for ( j = i; j >= gap && (int)temp < (int)array[j-gap] ; j-=gap) {
array[j] = array[j-gap];
}
array[j] = temp;

}
}
}
}

举报

相关推荐

0 条评论