美文网首页
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.插入排序

    插入算法如下: 只有一个元素的数组,那么是有顺序的,所以从1开始循环遍历 第二从循环中,如果插入的元素小于前面的数...

  • 1. C#数据结构与算法 -- 排序(插入,冒泡,希尔,快速,选

    1. 插入排序 ================================================...

  • 几种实用的简易的排序算法

    也是面试题 一、插入排序 1.插入排序—直接插入排序(Straight Insertion Sort) 思路 遍历...

  • 排序——插入排序

    业精于勤荒于嬉 插入排序包括:直接插入排序、折半插入排序、希尔排序(缩小增量排序) 一、直接插入排序 1. 算法思...

  • PHP实现排序算法

    一、插入排序 1.排序思想 插入排序(InsertionSort),一般也被称为直接插入排序。对于少量元素的排序,...

  • Java学习记录(常用 算法 排序 )

    排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序);2.交换排序(冒泡泡排序、快速排序);...

  • Ⅲ. 排序算法(Sort Algorithm)

    插入排序 1. 直接插入排序(Straight Insertion Sort) 2. 希尔排序(Shell`s S...

  • 算法-排序-希尔排序

    由来 希尔排序是根据插入排序来实现的。 希尔排序根据插入排序的以下两点性质而提出的改进方法: 1.插入排序在对...

  • 排序

    本文记录几个基础的排序算法。排序算法分为插入排序、交换排序、选择排序等几大类。 插入排序 1. 直接插入排序 O(...

  • 排序算法总结(1)

    1. 冒泡排序 2. 选择排序 3. 插入排序 3.1 插入排序的改进(用赋值代替交换)

网友评论

      本文标题:1.插入排序

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