public class InsertSort {
public static void main(String[] args) {
int[] arr = new int[]{5,9,2,4,6,8,7,1,3};
insertSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void insertSort(int[] arr){
//设置一个标志,从1到arr.length-1的数都要比较
for (int i=1;i<=arr.length-1;i++){
//如果当前数字小于前一个数字
if (arr[i]<arr[i-1]){
//将当前数字存储到中间变量
int temp = arr[i];
int j;
//遍历当前数字之前的所有数字
for (j=i-1;j>=0&&temp<arr[j];j--){
//把前一个数字赋值给后一个数字
arr[j+1] = arr[j];
}
//把temp的值赋给不满足条件的后一个元素
arr[j+1] = temp;
}
}
}
}