代码:
public class InsertionSort {
public static void main(String[] args) {
int arr[] = {49,38,65,97,76,13,27,49};
int i;
int j;
int temp;
for (i = 1; i < arr.length; i++) {
if (arr[i] < arr[i-1]) {
temp = arr[i];
for (j = i-1; j >= 0 && arr[j] > temp; j--) { //如果右边的数据大于左边的数据,则左边的数据右移
arr[j+1] = arr[j]; //右移一位
//此时j还会再判断一次,j--,直到左边的小于右边的数据
}
System.out.println("temp: "+temp + " i: " + i+ " j: " + j);
arr[j+1] = temp; //复制到插入位置
}
}
for (int t : arr) {
System.out.println(t);
}
}
}