数据结构与算法之数组

博客主要围绕数组展开,介绍了数组的基本使用,包括数组元素的添加、删除操作,还提及了在指定位置插入一个元素的内容,聚焦于数组的常见操作。

1.数组的基本使用

        //创建一个数字
        int[] arr = new int[10];
        //获取数组长度
        int len = arr.length;
        //访问数组中的元素:数组名【下标】,注意下标从0开始。
        int element = arr[0];
        //为数组中的元素赋值
        arr[0]=97;
        arr[1]=98;
        arr[2]=99;
        //遍历数组
        for(int i=0;i<len;i++) {
            System.out.println("arr"+i+"="+arr[i]);
        }
        //创建数组的同时为数组赋值
        int[] arr2 = new int[] {11,12,13,14,15,16};
        //快速查看数组中的元素
        System.out.println(Arrays.toString(arr2));

2.数组元素的添加

int[] arr2 = new int[] {11,12,13,14,15,16};

//要加入数组的目标元素
        int dst = 6;
        //创建一个新数组,长度是原来数组的长度+1
        int[] newArr= new int[arr2.length+1];
        //把原来数组中存在的元素赋值给新数组
        for (int i = 0; i < arr2.length; i++) {
            newArr[i]=arr2[i];
        }
        //把目标元素添加到新数组的最后
        newArr[arr2.length]=dst;
        //把新创建的数组复制给原来的数组
        arr=newArr;

3.数组元素的删除

//目标数组
        int[] arr = new int[] {11,12,13,14,15,16};
        //被删除元素的下标
        int dst = 3;
        //创建一个新数组,并且长度是目标数组的长度-1
        int[] newArr = new int[arr.length-1];
        //复制原数组中除了要删除元素以外的其它元素
        for (int i = 0; i < newArr.length; i++) {
            //被删除元素之前的元素
            if(i<dst) {
                newArr[i]=arr[i];
                //被删除元素之后的元素
            }else {
                newArr[i]=arr[i+1];
            }
        }
        //新数组替换旧数组
        arr=newArr;

4.在指定位置插入一个元素

public void insert(int index,int element) {
        int[] newArr = new int[elements.length+1];
        if(index < 0 || index > elements.length-1) {
            throw new RuntimeCryptoException();
        }else {
            for (int i = 0; i < elements.length; i++) {
                if(i<index) {
                    newArr[i]=elements[i];
                }else {
                    newArr[i+1]=elements[i];
                }
            }
            newArr[index]=element;
        }
        elements = newArr;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iamlzjoco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值