美文网首页java全家桶
插入排序-希尔排序

插入排序-希尔排序

作者: 趁年轻多奋斗 | 来源:发表于2019-04-28 13:58 被阅读0次
 public static void main(String[] args) {
    int[] arr = new int[]{2, 5, 3, 7, 1, 8, 3, 9, 0};
    System.out.println(Arrays.toString(arr));
    Main.Hill(arr);
    System.out.println(Arrays.toString(arr));
}

private static void Hill(int[] arr) {
    int k = 1;
    //遍历所有步长
    for (int d = arr.length / 2; d > 0; d /= 2) {
        //遍历所有元素
        for (int i = d; i < arr.length; i++) {
            //遍历本组的所有元素
            for (int j = i - d; j >= 0; j -= d) {
                if (arr[j] > arr[j + d]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        System.out.println("第"+k+"次:"+Arrays.toString(arr));
        k++;
    }
}

相关文章

  • 记录几个常见的排序算法

    常见的排序有:快速排序、冒泡排序、希尔排序、选择排序、插入排序、归并排序 冒泡排序: 插入排序: 选择排序: 希尔...

  • 详解排序算法--希尔排序

    希尔排序 希尔排序的由来是根据插入排序的。读者若不了解插入排序,可以参考笔者的详解排序算法--插入排序和冒泡排序....

  • 常见的排序算法(1)

    要点 冒泡排序 选择排序 插入排序 希尔排序 1. 冒泡排序 2.选择排序 3. 插入排序 4.希尔排序

  • python实现插入排序&希尔排序

    为什么要将插入排序和希尔排序放在一起来写呢?因为插入排序和希尔排序的思路是相同的,希尔排序可以看成是插入排序的特殊...

  • 算法基础课 2.3 希尔排序

    排序: 冒泡排序 交换 选择排序 求最大 最小 插入排序 挪动数组 希尔排序 希尔排序也是一种插入排序,它是简...

  • 常用的排序算法详解:希尔排序,桶排序,选择排序,冒泡排序,快速排

    排序算法——希尔排序 希尔排序是插入排序的一种,又称"缩小增量排序”,是插入排序算法的一种更高效的改进版本。 希尔...

  • 部分简单排序

    调用测试 插入排序 二分插入排序 希尔排序 冒泡排序

  • 希尔排序思想与实现

    希尔排序是对插入排序的修改,我们知道插入排序比选择排序更优,希尔排序又是比插入排序更优的一种方式,具体原因,看完下...

  • 排序(新排版)

    冒泡排序 插入排序 二分插入排序 希尔排序 选择排序 快速排序

  • 算法(排序)

    一、内部排序 1、插入排序—直接插入排序(Straight Insertion Sort) 2、插入排序—希尔排序...

网友评论

    本文标题:插入排序-希尔排序

    本文链接:https://www.haomeiwen.com/subject/edpdnqtx.html