public class QueueArray extends Queue { private int N, head, tail; private Object q[]; QueueArray (int maxN) { N = maxN + 1; q = new Object[N]; head = N; tail = 0; } boolean isEmpty () { return head % N == tail; } void put (Object item) { q[tail] = item; tail = (tail + 1) % N; return; } Object get () { Object item; head = head % N; item = q[head]; head = head + 1; return item; } public static void main (String argv[]) { int n = Integer.parseInt (argv[0]); Queue q = new QueueArray (n); test (q, n); } }