直接上代码:
/**
* 插入排序,类似于打牌,从第二个数开始,把要排序的数放入一个暂存器与前一个数比较,
* 当前一个数大于当前数时就把前一个数往后移一位,
* 否则就直接把暂存器的数放到最上一个比该数大的位置
*/
public class InsertSort {
public static void main(String[] args) {
int[] arr = new int[]{2, 1, 3, 77, 72, 0, 5};
int[] arr1 = insertSort(arr);
for (int arr2 : arr1) {
System.out.print(arr2 + ";");
}
}
/**
* @param arr
* @return
*/
static int[] insertSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int temp = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > temp) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
}
return arr;
}
}