public static void main(String[] args) {
System.out.println("请输入数字");
Scanner s = new Scanner(System.in);
//定义数组长度
// int a = s.nextInt();
// int [] arr= new int[a];
int [] arr= new int[10];
for (int i = 0; i < arr.length; i++) {
// 把数据按照从0开始的下标存入arr 数组
arr[i] = s.nextInt();
// 输出存入的数组
System.out.println("您输入的数组是: "+arr[i]);
}
int temp;
System.out.println("数组排序前顺序:");
for(int n : arr){
System.out.print(n+" ");
}
//直接插入排序
//外层循环确定待比较数值
for (int i=1;i<arr.length;i++) { //必须i=1,因为开始从第二个数与第一个数进行比较
temp = arr[i]; //待比较数值
int j;
//内层循环为待比较数值确定其最终位置
for (j = i - 1;j>=0 && arr[j]>temp;j--) { //待比较数值比前一位置小,应插往前插一位
//将大于temp的值整体后移一个单位
arr[j+1] = arr[j];
}
arr[j+1] = temp; //待比较数值比前一位置大,最终位置无误
}
System.out.println();
System.out.println("数组排序后顺序:");
for(int n : arr){
System.out.print(n+" ");
}
}