public static int[] insertionSort(int[] arr) {
if (arr == null || arr.length < 2) {
return null;
}
for (int i = 1; i < arr.length; i++) { // 0 ~ i 做到有序
// arr[j] > arr[j + 1] 每次要和前面一位比较,大于前一个数做交换,j--之后下标左移,
// 一直换到不能换的时候停,或者左边没有数了停。
for (int j = i - 1; j >= 0 && arr[j] > arr[j + 1]; j--)
{
swap(arr, j, j + 1);
}
}
return arr;
}