ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

003.数组扩容

2022-04-28 18:01:22  阅读:145  来源: 互联网

标签:扩容 insert show int 003 length 数组 data public


1.代码

package com.suanfa.demo;

public class A {
    private int[] data;
    private int length = 0;
    int j = 0;

    public A() {
        data = new int[5];
    }

    //插入元素
    public void insert(int x) {
        expand();
        data[length++] = x;
    }

    //显示元素
    public void show() {
        for (int i = 0; i < length; i++) {
            System.out.print(data[i] + "****");
        }
        System.out.println();
    }

    //对元素扩容
    public void expand() {
        //todo 完成数组的扩容代码
        if (length >= data.length / 2) {
            j++;
            int[] temp = data;
            data = new int[data.length * 2];
            /**
             * 遍历时参数的选择
             * 1.data.length   会报越界
             * 2.temp.length    旧的数组不一定会装满,没必要去遍历后面的元素
             */
            for (int i = 0; i < temp.length; i++) {
                data[i] = temp[i];
            }
            System.out.println("数组第"+j+"次扩容");
        }
    }

}
package com.suanfa.demo;

public class B {
    public static void main(String[] args) {
        A a = new A();
        a.insert(0);
        a.insert(1);
        a.insert(2);
        a.show();
        a.insert(3);
        a.insert(4);
        a.insert(5);
        a.show();
        a.insert(6);
        a.insert(7);
        a.insert(8);
        a.insert(9);
        a.insert(10);
        a.insert(11);
        a.show();
    }
}

2.充满回忆的一行代码

 

标签:扩容,insert,show,int,003,length,数组,data,public
来源: https://www.cnblogs.com/LLL0617/p/16203896.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有