如何在数组中插入一个新的元素

题目:在一个有序的数组中,想要将一个元素插入该数组中,还要保证还数组是有序的。

已解决部分:采用折半查找的方法,修改返回值,已找到该元素要放的位置。

未解决:原本数组长度为8,如何将数组长度变为9?如何将元素插入?

有问题的代码如下:

577c7ae5000166dc05200390.jpg

最终运行结果如下:(上边一行是原序列,下面是插入元素8后的序列,插入元素8后的序列缺少元素100,如何解决呢?  
577c7b730001bb8505200390.jpg

心须向阳
浏览 5167回答 4
4回答

慕粉3502418

public static void main(String[] args) {    int[] arr = {1, 3, 5, 7, 9};    int num = 4;    int newArray[] = new int[arr.length + 1];    System.arraycopy(arr, 0, newArray, 0, arr.length);    newArray[newArray.length - 1] = num;// 此时数组最后一个元素的值变为num    for (int i = newArray.length - 1; i > 0; i--) { // 把数组下标最大值赋值给i,只要i大于等于数组最小下标就执行循环体        if (newArray[i] < newArray[i - 1]) { // 如果数组第i+1个元素小于第i个元素时 [注意下标比实际位置小1]            int temp = newArray[i];      // 下面的代码定义了一个临时变量,借此交换数组中两个值            newArray[i] = newArray[i - 1];            newArray[i - 1] = temp;        }    }     for (int i  : newArray)        System.out.println(i);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java