Question
CODE HERE: import java.util.AbstractList; import java.util.Collection; /** * This is a copy of the JCF class ArrayList. It implements the List * interface as a
CODE HERE:
import java.util.AbstractList; import java.util.Collection;
/** * This is a copy of the JCF class ArrayList. It implements the List * interface as a single array a. Elements are stored at positions * a[0],...,a[size()-1]. Doubling/halving is used to resize the array * a when necessary. * @author morin * * @param
/** * The number of elements stored */ int n;
/** * The block size */ int b;
/** * Constructor * @param t the type of objects that are stored in this list * @param b the block size */ public BlockedList(Class
public int size() { return n; }
public T get(int i) { // TODO: Implement this if (i n - 1) throw new IndexOutOfBoundsException(); return null; }
public T set(int i, T x) { // TODO: Implement this if (i n - 1) throw new IndexOutOfBoundsException(); return null; }
public void add(int i, T x) { // TODO: Implement this if (i n) throw new IndexOutOfBoundsException(); }
public T remove(int i) { // TODO: Implement this if (i n - 1) throw new IndexOutOfBoundsException(); return null; } }
1. Implement a Block edL st class that implements the List interface. You may use any of the classes in JCF or in the textbook code. The constructor for this class takes an integer block size and the implementation should have these perfomance characteristics: 1. get(i) and set(i,x) should run in O(1) time per operation 2 add(1, x) and remove (i) should run in O( b + min( i , n- )/ b) amortized time per operationStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started