java算法--插入排序操作

插入排序(java实现)

一、插入排序简明介绍(从小到大)

  1. 插入排序算法思想

插入排序的时间复杂度为O(n2),所以插入排序是比较稳定的排序方法。

插入排序就是将一组无序的 int 类型数组进行排序,此次以从小到大排序为例。
核心
int[] array = {};
在这里插入图片描述
核心
把n个待排序的元素看作一个有序表和一个无序表,从array[0]开始,此时有序表中只有array[0]一个元素,无序表中有n-1个元素,即array[1]—array[n-1]之间,排序过程中每一次从无序表中取出第一个元素,将它与有序表里的元素依次按下标从大到小依次比较,进而插入到合适的地方。

  1. 算法过程
    在这里插入图片描述

  2. 动态图
    在这里插入图片描述

二、代码实现

插入排序 方法实现

public static void insertSort(int[] array){
    
    
        for (int i = 1; i < array.length; i++) {
    
    
            int inValue = array[i];
            int inIndex = i-1;
            while(inIndex>=0 && inValue<array[inIndex]){
    
    
                array[inIndex+1] =array[inIndex];
                inIndex--;
            }
            array[inIndex+1] = inValue;
        }
    }

测试

public static void main(String[] args) {
    
    
        int[] array={
    
    3,9,-1,10,20,30,45,22,-6,-12};
        System.out.println("排序前");
        System.out.println(Arrays.toString(array));
        inSort(array);
        System.out.println("排序后");
        System.out.println(Arrays.toString(array));
}

测试结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_46343559/article/details/110940345