关于数组的插入与删除

Java数组的插入与删除操作
博客围绕Java数组的插入与删除展开。插入时,需判断插入位置和数组末尾是否为0,以确定是否有存储空间及操作方式;删除时,先判断位置是否为0,不为0则用后一元素覆盖当前元素。还提及数组定义时的赋值注意事项。

关于数组的插入与删除

注:关于数组定义,
若 int[] A=new int [5];
A= new int[]{1,2,3};则会将5覆盖
,因此只能挨个赋值。
在这里插入图片描述

  1. 插入

在数组进行插入时,应注意对于整数型数组未填写数据时,默认为0,故只需判断需插入位置是否为0,若为0,说明该位置无数据,直接覆盖即可,若有数据,则判断数组最后一位是否为0,若为0,则说明还有存储空间,只需将n-1处及以后的元素挨个后移即可,否则说明无存储空间。
代码如下:

public void testInsert(int []A,int n,int c){
        //n,插入位置,c,值
        //先判断插入的位置,大于数组长度或者小于0为非法插入
        if(n<0||n>=A.length)
            System.out.println("超出存储空间");
        else if(A[n-1]==0){
            A[n-1]=c;
        }
           else if(A[A.length-1]==0)
        //判断是否有剩余空间,当按照顺序存储时,未填充区域默认为0
        {

            for(int i=A.length-1;i>n-1;i--){
                A[i]=A[i-1];
            }
            A[n-1]=c;
        }
        else System.out.println("数组无剩余空间,插入失败。");
        for (int i=0;i<A.length;i++){
            System.out.println(A[i]);
        }
    }
  1. 删除
    删除时仍同上,先判断该位置是否为0,若为0,说明无数据,不需要删除,若不为0,则将第n个元素覆盖在第n-1个元素上,完成删除。
    代码如下:
public void testDelete(int []A,int n){
        //先判断插入的位置,大于数组长度或者小于0为非法删除
        if(n<0||n>=A.length)
            System.out.println("超出存储空间");
        else if(A[n]!=0)
        //判断访问位置是否为0,若为0,则说明未填充数据,删除失败
        {

            for(int i=n-1;i<=A.length-1-1;i++){
                A[i]=A[i+1];
            }
            A[A.length-1]=0;
        }
        else System.out.println("数组该位置无数据,删除失败。");
        for (int i=0;i<A.length;i++){
            System.out.println(A[i]);
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值