002.在数组中的指定位置插入目标元素

package com.suanfa.demo;

import javax.xml.crypto.Data;

/**
 * 1.需求:在数组中的指定位置插入目标元素
 * (1)先将元素向后复制一份  data[position+1]=data[position]
 * (2)对指定位置赋值
 */
public class A {

    public static void insert(int[] array, int x, int position) {
        int temp = 0;
        int result = 0;
        int positiionTemp = position;
        result = array[position];
        for (int i = position + 1; i < array.length; i++) {
            /**
             * 1.实现对下一个元素的覆盖
             * 2.position++的目的是对下一个元素要实现替换
             * 3.注意,数组的容量要增加
             */
            temp = array[i];
            array[i] = result;
            result = temp;
            position++;
        }
      array[positiionTemp] = x;
    }
}
package com.suanfa.demo;


public class B {
    public static void main(String[] args)
    {
        int[] array = new  int[4];
        array[0]=1;
        array[1]=2;
        array[2]=3;
        for (int i : array) {
            System.out.printf("**"+i);
        }
        System.out.println();
        A.insert(array,10000,1);
        for (int i : array) {
            System.out.printf("**"+i);
        }

    }
}

运行结果:

  初始数组:**1**2**3**0(末尾是0,是因为没有对它初始赋值)
  插入后的数组:**1**10000**2**3

 



posted @ 2022-04-23 21:18  李林林  阅读(255)  评论(0)    收藏  举报