java 对数组进行插入删除修改

数组的插入操作 :

首先定义一个数组a: 【1】【2】【3】【4】【5】 。我想要在a数组的第3个位置插入6, 那么第3个位置和它之后的的每个位置都应该向后移动一位。

此时数组由原来的数组a:

【1】【2】【3】【4】【5】

变成 b:

【1】【2】【6】【3】【4】【5】                                                

而我们知道array 数组在定义了之后长度就不能改变了, 所以我们要重新新定义一个比原来的数组长度+1的数组  也就是 int[] b = new int[a.length+1]。

插入6的时候,b数组的第一个元素为原先数组的第一个, 第二个为原先的第二个 ,当到第三个时,b数组的第三个要插入的值是6,然后第三个之后的 ,都为对应a数组+1的位置, 也就是b[i]=a[i+1]。

删除操作  

采用插入操作的分析方法可得。

修改操作

就是直接替换数组位置里的一个值。  

代码:

package stack;

public class ArrayOperation {
    
    public static int[] insert(int a[], int index, int value) {
        int b[] = new int[a.length + 1];
        for (int i = 0; i < b.length; i++) {
            if (i < index - 1) {
                b[i] = a[i];
            }
            if (i == index - 1) {
                b[i] = value;
            }
            if (i > index - 1) {
                b[i] = a[i - 1];
            }

        }
        return b;
    }

    public static void printArray(int a[]) {
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + " ");
        }
        System.out.println();
    }

    public static int[] delete(int a[], int index) {
        int b[] = new int[a.length - 1];
        for (int i = 0; i < b.length; i++) {
            if (i < index - 1) {
                b[i] = a[i];
            } else {
                b[i] = a[i + 1];
            }
        }
        return b;
    }

    public static int[] update(int a[], int index, int value) {
        a[index - 1] = value;
        return a;
    }

    public static void main(String args[]) {
        int[] a = { 1, 2, 3, 4, 5, 6 };
        int[] b = insert(a, 3, 7); // 在数组a的第三个位置插入7
        printArray(b);
        b = delete(a, 2); // 删除a数组的第2个元素
        printArray(b);
        b = update(a, 4, 9); // a数组的第4个元素更新为9
        printArray(b);

    }
}

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值