


public class Test {
public static void main(String[] args) {
// 向有序数组中插入数据9
int insert_num = 2;
// 要插入的下标位置
int insert_idx = 0;
// 定义数组
int[] num_array = new int[6];
num_array[0] = 1;
num_array[1] = 3;
num_array[2] = 6;
num_array[3] = 8;
num_array[4] = 12;
// 第一步,确定插在哪里?
int max_idx = num_array.length - 1; // 最大索引长度
for (int i = 0; i <= max_idx - 1; i++) {
System.out.println(i);
// 下标对应的数据与7进行比较,如果??那么??
if (num_array[i] >= insert_num) {
insert_idx = i;
break;
}
}
System.out.println("插入的位置");
System.out.println(insert_idx);
// 第二步,数据右移
for (int j = max_idx - 1; j >= insert_idx; j--) {
System.out.println("右移操做下标" + j);
// j 从4开始,依诊递减,直到 j的取值为3包含3,那么就进行循环
num_array[j + 1] = num_array[j]; // j= 4 5的下标获取4的值
}
// 第三步,数据插入
num_array[insert_idx] = insert_num;
// 打印
System.out.println("打印结果:");
for (int i = 0; i < num_array.length; i++) {
System.out.println(num_array[i]);
}
}
}