java实现插入排序

时间复杂度:O(n²)

1. 算法思想

数组第一个数arr[0]视为有序,将第二个数arr[1]插入。插入完成后再将前两个数视为有序,
将第三个数插入。如此循环直至插入所有数。

2. 插入的过程

一次插入中,将arr[n+1]插入前面排好序的arr[0]~arr[n]中。若arr[n+1]

3. java算法实现

public static void charu(int[] arr) {
            if(arr == null || arr.length<2) {
                return;
            }
            else {
                //数组第一个数arr[0]视为有序,从第二个数arr[1]开始插入
                for(int i = 1 ; i < arr.length ; i++) {
                    for(int j = i - 1 ; j >= 0 && arr[j] > arr[j + 1] ; j--) {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        } 

你可能感兴趣的:(java实现插入排序)