Java算法排序希尔排序

2022年9月23日12:14:49

算法描述:

希尔排序的思想是使得数组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;

            }
        }
    }
}

  • 作者:哎呀鱼骨头
  • 原文链接:https://blog.csdn.net/weixin_46944732/article/details/123516703
    更新时间:2022年9月23日12:14:49 ,共 433 字。