插入排序
插入排序:典型的比较排序
package org.study.order;
import java.util.Arrays;
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 10, -1, 11};
int[] last = insertionSort(arr);
System.out.println(Arrays.toString(last));
}
public static int[] insertionSort(int[] arr) {
for (int end = 1; end < arr.length; end ++) {
int cur = end;
while (cur > 0 && compare(arr[cur], arr[cur - 1]) > 0) {
swap(cur, cur - 1, arr);
cur --;
}
}
return arr;
}
public static int compare(int a, int b) {
if (a >= b) {
return -1;
} else {
return 1;
}
}
public static void swap(int indexA, int indexB, int[] arr) {
int tmp = arr[indexA];
arr[indexA] = arr[indexB];
arr[indexB] = tmp;
}
}
程序改变世界