// myStack.java // demonstrates stacks // to run this program: C>java StackApp // Originally implemented by Lafore; modifed by Sriram // Pemmaraju on Oct 14th, 2007 //////////////////////////////////////////////////////////////// class myStack { private int maxSize; // size of stack array private long[] stackArray; private int top; // top of stack //-------------------------------------------------------------- // This is the constructor that takes as an argument the maximum size // s that it ever needs to be public myStack(int s) // constructor { maxSize = s; // set array size stackArray = new long[maxSize]; // create array top = -1; // no items yet } //-------------------------------------------------------------- public void push(long j) // put item on top of stack { stackArray[++top] = j; // increment top, insert item } //-------------------------------------------------------------- public long pop() // take item from top of stack { return stackArray[top--]; // access item, decrement top } //-------------------------------------------------------------- public long peek() // peek at top of stack { return stackArray[top]; } //-------------------------------------------------------------- public boolean isEmpty() // true if stack is empty { return (top == -1); } //-------------------------------------------------------------- public boolean isFull() // true if stack is full { return (top == maxSize-1); } //-------------------------------------------------------------- } // end class myStack //////////////////////////////////////////////////////////////// class StackApp { public static void main(String[] args) { myStack theStack = new myStack(10); // make new stack theStack.push(20); // push items onto stack theStack.push(40); theStack.push(60); theStack.push(80); while( !theStack.isEmpty() ) // until it's empty, { // delete item from stack long value = theStack.pop(); System.out.print(value); // display it System.out.print(" "); } // end while System.out.println(""); } // end main() } // end class StackApp ////////////////////////////////////////////////////////////////