有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置`
public static void main(String[] args) {
int[] a = new int[]{1,3,5,6,9};
int[] b = new int[a.length+1];
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int index = 0;
//遍历原数组,判断输入的值,小于就直接赋值给新数组,有一次循环赋值两次
for (int i = 0; i <a.length ; i++) {
if(a[i]<num){
b[i]=a[i];
}else {
//只添加一次
if(index==0){
b[i]=num;
index++;
}
b[i+1]=a[i];
}
}
System.out.println(Arrays.toString(b));
}
这篇博客探讨了如何在已排序的Java数组中按照原有规律插入一个数。如果输入的数大于数组最后一个元素,直接插入;否则,需要寻找合适位置并依次移动后续元素。

5983

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



