diff --git a/03/ArrayIntList.java b/03/ArrayIntList.java new file mode 100644 index 0000000000000000000000000000000000000000..8d015fa5a88bf06c4ef94b8e119433aff7240d1d --- /dev/null +++ b/03/ArrayIntList.java @@ -0,0 +1,54 @@ +public class ArrayIntList { + private int[] data; + private int size; + + // size vs. capacity + // current size = 0 + // max size (capacity) = 10 + + public ArrayIntList() { + this.data = new int[10]; + this.size = 0; + } + + //[1, 2, 3] + public String toString() { + String elements = ""; + for (int i = 0; i < this.size; i++) { + elements += this.data[i] + ", "; + } + if (elements.length() > 0) { + elements = elements.substring(0, elements.length() - 2); + } + return "[" + elements + "]"; + } + + public void add(int elt) { + if (this.size == this.data.length) { + int[] newData = new int[this.size * 2]; + for (int i = 0; i < this.data.length; i++) { + newData[i] = this.data[i]; + } + this.data = newData; + } + this.data[size] = elt; + this.size++; + } + + /** + * Puts element at index idx, shifting over everything after to the right. + * @param idx + * @param element + * For example, idx = 2, element = 42 + * [1, 2, 3, 4, 5] + * ^ + * [1, 2, 42, 3, 4, 5] + */ + public void add(int idx, int element) { + + } + + public int get(int idx) { + return -1; + } +} diff --git a/03/ArrayIntListClient.java b/03/ArrayIntListClient.java new file mode 100644 index 0000000000000000000000000000000000000000..25d37f17060dda53f8821cdb4b6e33d93e39b296 --- /dev/null +++ b/03/ArrayIntListClient.java @@ -0,0 +1,9 @@ +public class ArrayIntListClient { + public static void main(String[] args) { + ArrayIntList list = new ArrayIntList(); + for (int i = 0; i < 100; i++) { + list.add(i); + } + System.out.println(list); + } +}