算法--数组元素添加与删除

    xiaoxiao2023-11-01  24

    1.实现数组 添加元素的算法实现
    import java.util.Arrays; import java.util.ArrayList; import java.util.Scanner; public class SwopArray{ public static void main(String [] args){ int number=10;//添加元素的数量 int[] array=new int[]{}; //给数组添加元素的算法实现--这里数组是int型的,只能添加int型元素 while(number>0){ System.out.println("请输入要添加的元素"); Scanner sc=new Scanner(System.in);//创建扫描器 int element=sc.nextInt();//输入对象是int型的 //创建一个新的数组,长度是原来长度+1 int[] newarray=new int[array.length+1]; //把原数组中的数据赋值到新的数组 for(int i=0;i<array.length;i++){ newarray[i]=array[i]; } //将需要添加的元素放到数组最后 newarray[array.length]=element; //新数组替换原数组, array=newarray; System.out.println(element+"添加成功"); number-=1; }//添加完后,查看元素 System.out.println(Arrays.toString(array)); } }

    实现原理步骤:

    创建一个旧的数组一个需要添加的元素创建一个新的数组,长度是原来的+1将原来的数组中的数据复制到新的数组将需要添加的那个元素放到新的数组的最后新数组替换旧数组。(保证了数据添加了,数组名字又不会改变。这样就实现了旧得数组添加元素功能)
    2.算法-删除数组中的元素
    import java.util.Arrays; import java.util.Scanner; public class DelArray{ public static void main(String[] args){ /*算法-删除数组中的元素实现*/ //目标数组 int[] array=new int[]{9,8,7,6,5,4}; System.out.println("输入你要删除的元素下标:"); //构建扫描器 Scanner sc=new Scanner(System.in); //需要删除的下标 int index=sc.nextInt(); //创建新的数组,长度是原来-1 int[] newarray=new int[array.length-1]; //将除了要删除的元素的其他 元素复制到新的数组 for(int i=0;i<newarray.length;i++){ //需要删除下标之前的元素 if(i<index){ newarray[i]=array[i]; } //之后的元素(这里是重点) else{ newarray[i]=array[i+1]; } } //新数组替换就数组 array=newarray; //System.out.println("删除后的数组"+Arrays.toString(array)); //打印删除好的数组 for(int i=0;i<array.length;i++){ System.out.print(array[i]+"\t"); } } }

    删除元素中栈指定元素原理:

    创建两个数组复制旧数组中的数据到新的数组新数组替换旧数组

    注意:复制数组中是怎么复制的,尤其是复制 要删除下标之后的 元素

    newarray[i]=array[i+1];

    最新回复(0)