Java 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。代码
时间: 2023-06-06 16:05:13 浏览: 77
如下:
```java
public class InsertionInSortedArray {
public static void main(String[] args) {
int[] arr = new int[]{1, 3, 5, 7, 9};
int num = 4; // 待插入的数
// 找到插入位置
int i;
for (i = 0; i < arr.length; i++) {
if (arr[i] > num) {
break;
}
}
// 插入元素并移动数组
int[] newArr = new int[arr.length + 1];
System.arraycopy(arr, 0, newArr, 0, i);
newArr[i] = num;
System.arraycopy(arr, i, newArr, i + 1, arr.length - i);
arr = newArr;
// 输出结果
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
}
}
```
该程序可以实现将一个数插入已经排好序的数组中,保证插入后仍然是有序的。思路是先找到插入位置,然后将该位置后的元素向后移一位,再将待插入的元素放入正确位置即可。
阅读全文