/** * Implementation of the Stack interface using a fixed-length array. * An exception is thrown if a push operation is attempted when the * size of the stack is equal to the length of the array. * * @author Natasha Gelfand * @author Roberto Tamassia * @see FullStackException */ public class ArrayStack implements Stack { /** * Default length of the array used to implement the stack. */ public static final int CAPACITY = 1000; /** * Length of the array used to implement the stack. */ protected int capacity; /** * Array used to implement the stack. */ protected Object S[]; /** * Index of the top element of the stack in the array. */ protected int top = -1; /** * Initialize the stack to use an array of default length CAPACITY. */ public ArrayStack() { this(CAPACITY); } /** * Initialize the stack to use an array of given length. * * @param cap length of the array. */ public ArrayStack(int cap) { capacity = cap; S = new Object[capacity]; }