dushine00 2020-02-17
public class InsertSort { public static void main(String[] args) { int[] arr = {3, 9, -1, 10, -2}; System.out.println(Arrays.toString(arr)); insertSort(arr); System.out.println("-----------新旧分割线-------------------"); System.out.println(Arrays.toString(arr)); } // 插入排序过程 O(n^2) public static void insertSort(int[] arr) { int insertVal = 0; // 待插入的数据 int insertIndex = 0; // 插入的位置 for (int i = 1; i < arr.length; i++) { insertVal = arr[i]; insertIndex = i - 1; // 待插入数还没有找到适当位置 while (insertIndex >= 0 && insertVal < arr[insertIndex]) { arr[insertIndex + 1] = arr[insertIndex]; insertIndex--; } arr[insertIndex + 1] = insertVal; } } }