public static void main(String[] args) {
//定义一个有序数组(如果数组是无序的,可以先对数组进行排序)随机存放一些数据
int[] arr1 = new int[]{12,14,23,45,66,68,70,77,90,91};
//由于数组长度不可变,想要插入一个数据,就得创建一个更大的数组,这里在arr1的基础上+1;
int[] arr2 = new int[arr1.length+1];
//从键盘上输入要插入的数据比如:50
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数");
int num = scanner.nextInt();
//用for循环同时遍历旧数组和新数组,将旧数组的值赋值给新数组
for (int i = 0; i < arr2.length-1; i++) {
if (arr1[i] < num){
arr2[i] = arr1[i];//因为数组是有序的,只要比输入的数小都可以直接放入新数组中
}else{
arr2[i+1] = arr1[i];//此时比输入的数小的数都放置完成,隔一个位置,开始放比输入的数大的数
}
}
//遍历结果为 12 14 23 45 0 66 68 70 77 90 91
//此时我们只要遍历数组,将输入的数赋值给值为 0 的下标,插入的操作就完成了
for (int i = 0; i < arr2.length; i++) {
if (arr2[i] == 0){
arr2[i] = num;
}
}
//遍历数组,验证结果为:12 14 23 45 50 66 68 70 77 90 91
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " ");
}
}
在有序的数组中插入任意值
于 2024-03-19 14:42:02 首次发布