美文网首页
1.插入排序

1.插入排序

作者: eagleif | 来源:发表于2018-08-15 14:38 被阅读5次

    插入算法如下:

    public static void main(String[] args) {
        int[] array = new int[] {9,8,7,6,5,4,3,2,1,0,-1};
        //第一次循环的时候只取数组的第一个数,那么已经是排好序的
        for (int j = 1; j < array.length; j++) {
            int key = array[j];
            int i = j - 1;
            while (i >= 0 && array[i] > key) {
                //在j之前的位置的元素大于要插入的元素
                array[i + 1] = array[i];
                i = i - 1;
            }
            array[i + 1] = key;
        }
        System.out.println(Arrays.toString(array));
    }
    
    • 只有一个元素的数组,那么是有顺序的,所以从1开始循环遍历
    • 第二从循环中,如果插入的元素小于前面的数,那么需要将插入的元素放在这个元素之前 这就相当于打扑克牌的时候,最开始摸一张牌,然后摸第二张牌,如果第二张大于第一张,那么第二张放在第一个位置,否则放在第二个位置;以此类推。

    相关文章

      网友评论

          本文标题:1.插入排序

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