1.插入排序

插入算法如下:

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开始循环遍历
  • 第二从循环中,如果插入的元素小于前面的数,那么需要将插入的元素放在这个元素之前 这就相当于打扑克牌的时候,最开始摸一张牌,然后摸第二张牌,如果第二张大于第一张,那么第二张放在第一个位置,否则放在第二个位置;以此类推。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容