From 8d2f0d57b5b7020b9ece2dc193cdc3f5c7dccaac Mon Sep 17 00:00:00 2001 From: ehlxr Date: Tue, 8 Jun 2021 23:36:39 +0800 Subject: [PATCH] update at 2021-06-08 23:36:39 by ehlxr --- pom.xml | 12 +++++++++++ .../java/io/github/ehlxr/sort/InsertSort.java | 20 ++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cd79b83..d42614a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,6 +5,18 @@ budd war 0.0.1-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 11 + 11 + + + + budd http://maven.apache.org diff --git a/src/main/java/io/github/ehlxr/sort/InsertSort.java b/src/main/java/io/github/ehlxr/sort/InsertSort.java index 0814c7b..22f3d74 100644 --- a/src/main/java/io/github/ehlxr/sort/InsertSort.java +++ b/src/main/java/io/github/ehlxr/sort/InsertSort.java @@ -59,6 +59,24 @@ public class InsertSort { } } + public static void sort2(int[] arr) { + for (int i = 1; i < arr.length; i++) { + int value = arr[i]; // 一个元素(新元素) + int j = i - 1; // 已排序的最后一个元素下标 + while (j >= 0 && arr[j] > value) { + arr[j + 1] = arr[j]; // arr[j] 后移 + j--; + } + arr[j + 1] = value; + // i=2, value=1 + // 4, 9, 1, 8, 6, 2 + // 4, 9, 9, 8, 6, 2 + // 4, 4, 9, 8, 6, 2 + // 1, 4, 9, 8, 6, 2 + System.out.println(Arrays.toString(arr)); + } + } + public static void swap(int[] arr, int i, int j) { // arr[i] = arr[i] + arr[j]; // arr[j] = arr[i] - arr[j]; @@ -70,6 +88,6 @@ public class InsertSort { } public static void main(String[] args) { - sort(new int[]{4, 9, 1, 8, 6, 2}); + sort2(new int[]{4, 9, 1, 8, 6, 2}); } }