代码改变世界

自定义数组的插入

2018-07-12 09:32  人月神话。  阅读(204)  评论(0)    收藏  举报
//创建一个新数组
        int[] arr = {1,3,5,7,8,15,22,33,44,55,66};
        //获取用户输入要插入的数据
        Scanner sc=new Scanner(System.in);
        int insertNum=sc.nextInt();
        int indexNum=-1;//用于保存第一个大于输入元素的数组元素的索引
        int count=arr.length;//保存数组的长度
        
        
        for (int i = 0; i < arr.length; i++) {//获取到第一个大于要插入元素的索引
            if(arr[i]>insertNum) {
                 indexNum=i;
                 break;
            }
        }
        
        int[] arr2=new int[count+1];//创建第二个数组
        for (int i = 0; i < count; i++) {//给第二个数组赋值
            arr2[i]=arr[i];
        }
        
        for (int i = count; i >indexNum; i--) {//将数组的元素进行交换,把之前的一个交换给后一个 不包括最后一位;
            arr2[i]=arr[i-1];
        }
        arr2[indexNum]=insertNum;//把要插入的元素赋值到 要插入的索引位置
        
        for (int i = 0; i < arr2.length; i++) {
            System.out.println(arr2[i]);
        }