插入排序
public class InsertionSort {
public static void insertionSort(int[] arr) {
// 从数组第2位开始,当数组只有1个元素时相当于已经排好了顺序;
for (int i = 1; i < arr.length; i++) {
insert(arr, i);
}
}
/**
* 将arr数组中第n个数字插入到正确位置
* @param arr
* @param n 第n个数字
*/
private static void insert(int[] arr, int n) {
int key = arr[n];
int i = n;
while(arr[i - 1] > key) {
arr[i] = arr[i - 1];
i--;
if (i == 0) {
break;
}
}
arr[i] = key;
}
}