Reading material

Pages 80-83 and 86-92.

Additional material

Graphical representation

After execution of the code fragment
ArrayStack s = new ArrayStack(4);
s.push(new Integer(1));
s.push(new Integer(2));
s.push(new Integer(3));
the ArrayStack object s can be depicted as follows.

Node.java
ListQueue.java
QueueException.java
QueueTester.java

After execution of the code fragment

ListQueue q = new ListQueue();
q.enqueue(new Integer(1));
q.enqueue(new Integer(2));
the ListQueue object q can be depicted as follows.