算法系列-排序算法-直接插入排序(JAVA版)

  1. 简介
    1. 排序算法JAVA实现
    2. 源码地址

简介

记录自己的学习的算法

直接插入排序算法工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

排序算法JAVA实现

代码如下

    int[] doSort(int[] array) {
        //向前插入,从1开始与前面元素的比较插入
        for (int i = 1; i < array.length; i++) {
            //当前未排序序列的第一个元素
            int temp = array[i];
            //未排序序列前一个元素的索引,也是已排序序列的最后元素索引
            int preIndex = i - 1;
            //从后向前遍历已排序序列,如果 temp 小于遍历的元素,则遍历的元素后移一位
            while (preIndex >= 0 && temp < array[preIndex]) {
                array[preIndex + 1] = array[preIndex];
                preIndex--;
            }
            //所有大于 temp 的元素后移一位后,temp填充在此位
            array[preIndex + 1] = temp;

            //打印一下过程与算法无关
            System.out.println(printFun(array, i, preIndex + 1));
        }
        return array;
    }

输出结果

未排序 [9, 6, 0, 2, 3]
[6] [9] 0 2 3
[0] 6 [9] 2 3
0 [2] 6 [9] 3
0 2 [3] 6 [9]
已排序 [0, 2, 3, 6, 9]

源码地址

https://github.com/RockeyCui/learn-normal


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 rockeycui@163.com

文章标题:算法系列-排序算法-直接插入排序(JAVA版)

文章字数:293

本文作者:崔石磊(RockeyCui)

发布时间:2018-09-02, 20:00:00

原始链接:https://cuishilei.com/算法系列-排序算法-插入排序-JAVA.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏