import java.util.*; public class MyQueueArray implements MyQueue { private Object[] queue; private int size; // size of the queue private int top; // for next insertion private int base; // for next removal public MyQueueArray() { queue = new Object[1]; size = top = base = 0; } public boolean isEmpty() { return size == 0; } public void enqueue(Object item) { if (size == queue.length) { // expand the queue Object[] newQueue = new Object[2*queue.length]; System.arraycopy(queue, base, newQueue, 0, size-base); System.arraycopy(queue, 0, newQueue, size-base, base); queue = newQueue; base = 0; top = size; } queue[top++] = item; if (top == queue.length) { top = 0; } ++size; } public Object dequeue() { if (size == 0) { throw new NoSuchElementException(); } else { Object item = queue[base++]; if (base == queue.length) { base = 0; } --size; return item; } } public Enumeration elements() { // put your code here } }