003.数组扩容
作者:互联网
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