/* Bruce Maxwell Fall 2016 CS 231 Project 1 Flexible Array class for integers */ public class FlexArrayInt { int [] data; // the data int size; // size of the array int ptr; // next available space // constructor public FlexArrayInt() { data = new int[1]; // set up as default size 1 size = 1; ptr = 0; } // adds an item to the end of the array public void add(int item) { int[] tmp; if(ptr >= size) { // need to allocate more data tmp = new int[size*2]; // copy over the old data for(int i=0;i= 0 && ix < ptr) { return data[ix]; } System.out.println("getSafe: invalid index: " + ix ); return 0; } // set function public void set(int ix, int val) { data[ix] = val; } // safe set function public void setSafe(int ix, int val) { if(ix >= 0 && ix < ptr) { data[ix] = val; } System.out.println("setSafe: invalid index: " + ix ); } // utility function to return size of the data public int getSize() { return this.ptr; } // test function public static void main(String argv[] ) { FlexArrayInt f = new FlexArrayInt(); System.out.println("Size: " + f.size + " Ptr: " + f.ptr); System.out.println("Adding 5"); for(int i=0;i<5;i++) { f.add(i); } System.out.println("Size: " + f.size + " Ptr: " + f.ptr); for(int i=0;i<6;i++) { System.out.println( "Index: " + i + " Value: " + f.getSafe(i) ); } System.out.println("Adding 5 more"); for(int i=0;i<5;i++) { f.add(i); } System.out.println("Size: " + f.size + " Ptr: " + f.ptr); } }