数组插入处理
题目描述
已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
输入
第一行,原始数列。 第二行,需要插入的数字。
输出
排序后的数列
样例输入
1 7 8 17 23 24 59 62 101
50
样例输出
1
7
8
17
23
24
50
59
62
101
解题思路
这道题其实不是很难
难点应该在于数组增加长度以及最后冒泡排序
这道题先将原本的数据插入数组,然后通过Arrays.copyOf方法将数组的长度加一,在将新的数据插入到数组的最后,通过冒泡排序完成后输出即可
详情代码如下:
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr[] = new int[9];
for (int i = 0; i < arr.length; i++) {
arr[i]=sc.nextInt();
}
arr = Arrays.copyOf(arr, arr.length+1);//数组长度加一
arr[arr.length-1] =sc.nextInt();//添加新数字
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length-i-1; j++) {
//冒泡排序将数组从新排序一下
if (arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}