为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

心须向阳 2016-07-06 11:31:49
题目:在一个有序的数组中,想要将一个元素插入该数组中,还要保证还数组是有序的。 已解决部分:采用折半查找的方法,修改返回值,已找到该元素要放的位置。 未解决:原本数组长度为8,如何将数组长度变为9?如何将元素插入? 有问题的代码如下: 最终运行结果如下:(上边一行是原序列,下面是插入元素8后的序列,插入元素8后的序列缺少元素100,如何解决呢?  
查看完整描述

4 回答

?
慕粉3502418

TA贡献2条经验 获得超2个赞

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);

}


查看完整回答
1 反对 回复 2016-07-07
  • 4 回答
  • 0 关注
  • 5166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信