有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
代码如下:
package com.homework.lhh;
import java.util.Arrays;
import java.util.Scanner;
public class Ex13 {
@SuppressWarnings("resource")
public static void main(String[] args) {
int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };// 定义一个升序排序数组
//int[] array = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };// 定义一个降序排序数组
System.out.print("定义的数组为:");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数:");
int addNumber = sc.nextInt();
array = Arrays.copyOf(array, array.length + 1);// 数组扩容
array[array.length - 1] = addNumber; // 暂时将数组的最后一个数赋值为插入的数
//判断数组是降序还是升序,对应其规律进行输出
int i = 0;
//当定义的数组为升序的时候
if (array[i] <= array[array.length - 2]) {
Arrays.sort(array);// 再次排序
System.out.print("插入一个数后的数组为:");
for (i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
} else {//当定义的数组为降序的时候,数组进行倒序输出
Arrays.sort(array);// 再次排序
System.out.print("插入一个数后的数组为:");
for (i = array.length - 1; i >= 0; i--) {
System.out.print(array[i] + " ");
}
}
}
}
运行结果如图:
本文介绍了一种在已排序数组中插入新数的方法,并通过Java代码实现。该方法首先判断数组的排序方式(升序或降序),然后利用Arrays类进行数组扩容、排序或倒序输出,最终展示插入新数后的数组。

5984

被折叠的 条评论
为什么被折叠?



