java程序写有一个已经排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中。这个程序用for语句怎么写
时间: 2023-12-01 08:18:35 浏览: 63
有一个已排好序的数组,今输入一个数,要求按排序的规律将它插入数组中。
可以使用 for 循环遍历数组,找到要插入的位置,然后将后面的元素向后移动一位,最后将要插入的元素插入到对应的位置上。以下是一个使用 for 循环实现的示例代码:
```java
public class InsertIntoSortedArray {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9};
int num = 4;
int[] newArr = new int[arr.length + 1];
int insertIndex = -1;
// 找到插入位置
for (int i = 0; i < arr.length; i++) {
if (num < arr[i]) {
insertIndex = i;
break;
}
}
// 将后面的元素向后移动一位
for (int i = arr.length - 1; i >= insertIndex; i--) {
newArr[i + 1] = arr[i];
}
// 插入元素
newArr[insertIndex] = num;
// 将前面的元素复制到新数组中
for (int i = 0; i < insertIndex; i++) {
newArr[i] = arr[i];
}
// 输出新数组
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] + " ");
}
}
}
```
在这个示例代码中,我们定义了一个已经排好序的数组 `arr` 和要插入的数 `num`。首先,我们创建一个新数组 `newArr`,长度比原来的数组多一个,然后使用 for 循环遍历原数组,找到要插入的位置。如果找到了插入位置,我们就使用另外一个 for 循环将后面的元素向后移动一位。然后,我们将要插入的元素插入到对应的位置上,并使用 for 循环将前面的元素复制到新数组中。最后,我们输出新数组中的元素,即为插入元素后的有序数组。
阅读全文