排序算法之插入排序

Posted itblock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法之插入排序相关的知识,希望对你有一定的参考价值。

快要过节了,目前先把代码贴上,后续加上图示和复杂度信息

package com.jdk8.SortTest;

public class InsertSort {


    public static void doInsertSort(int[] arrays){
        int i,j;
        for(i=1;i<arrays.length;i++){

            int temp = arrays[i];//temp为存储的临时变量

            //查找temp插入到该有序列表的具体位置
            for(j =i-1;j>=0 && arrays[j]>temp;j--){
                arrays[j+1] = arrays[j];//移动元素
            }

            arrays[j+1] = temp;//插入到具体的位置
        }
        System.out.println();
    }

    public static void display(int[] arrays){
        for(int i = 0;i < arrays.length;i++){
            System.out.print(" " +  arrays[i] + " ");
        }
    }


    public static void main(String[] args){
        int[] arrays = {3,9,63,93,72,15,27,86};
        System.out.println("排序前的数据为:");
        display(arrays);
        doInsertSort(arrays);
        System.out.println("排序后的数据为:");
        display(arrays);

    }
}

运行结果如下:

排序前的数据为:
 3  9  63  93  72  15  27  86 
排序后的数据为:
 3  9  15  27  63  72  86  93 

以上是关于排序算法之插入排序的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之排序算法:插入排序

面试之插入排序算法

重温基础算法内部排序之插入排序法

排序算法之插入排序

排序算法之——插入排序

排序算法之插入排序