题目:数组排序及插入数据
有一个已经排好序的数组。先输入一个数,要求按原来
的规律将它插在数组中。
public class Arrays {
public static void main(String[] args) {
int[] array = {1, 7, 102, 38, 290, 2, 18, 99};
System.out.println("原数组为:" + Arrays.toString(array));
sort(array);
System.out.println("排序好的数组为:" + Arrays.toString(array));
Scanner in = new Scanner(System.in);
System.out.println("请输入你要插入的数字(1-290之间):");
int number = in.nextInt();
in.close();
int[] newArray=insert(array,number);
System.out.println("插入后排序好为:" + Arrays.toString(newArray));
}
//冒泡排序
private static int[] sort(int[] array) {
int temp;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {//从除了被选择的数开始
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];//实现互换
array[j + 1] = temp;
}
}
}
return array;
}
// 插入
private static int[] insert(int[] array, int number) {
int[] array2 = new int[array.length + 1];
for (int i = 0; i < array.length; i++) {
array2[i] = array[i];
}
array2[array2.length-1] = number;//插入后重新排序
array2 = sort(array2);
return array2;
}
}