用java程序写一个已经排好序的数组,输入一个数后按原来的排序规律将它插入数组中
时间: 2023-12-01 07:18:25 浏览: 130
好的,这是一个简单的插入排序问题,我可以为你提供一个Java代码示例:
```java
public class InsertionSort {
public static void main(String[] args) {
int[] arr = { 2, 4, 6, 8, 10, 12, 14 };
int num = 7;
int[] result = insert(arr, num);
System.out.println(Arrays.toString(result));
}
public static int[] insert(int[] arr, int num) {
int[] result = new int[arr.length + 1];
int i = 0;
while (i < arr.length && arr[i] < num) {
result[i] = arr[i];
i++;
}
result[i] = num;
while (i < arr.length) {
result[i + 1] = arr[i];
i++;
}
return result;
}
}
```
这个程序首先创建了一个有序数组 `arr`,然后定义了要插入的数 `num`。`insert` 方法将 `num` 按照原来的排序规律插入到 `arr` 中,并将结果保存在一个新的数组 `result` 中,最后返回这个数组。
在 `insert` 方法中,我们首先创建了一个长度比 `arr` 大 1 的新数组 `result`,然后使用一个 `while` 循环将 `arr` 中小于 `num` 的元素复制到 `result` 中,直到遇到第一个大于等于 `num` 的元素,将 `num` 插入到 `result` 中,最后再将剩余的元素复制到 `result` 中即可。
运行这个程序,输出结果为:
```
[2, 4, 6, 7, 8, 10, 12, 14]
```
可以看到,程序成功地将 7 按照原来的排序规律插入到了数组中。希望这个代码示例能够帮到你!
阅读全文