structure
Class AbstractStack<ELTTYPE>

java.lang.Object
  extended by structure.AbstractStructure<ELTTYPE>
      extended by structure.AbstractLinear<ELTTYPE>
          extended by structure.AbstractStack<ELTTYPE>
All Implemented Interfaces:
java.lang.Iterable<ELTTYPE>, Linear<ELTTYPE>, Stack<ELTTYPE>, Structure<ELTTYPE>
Direct Known Subclasses:
StackArray, StackList, StackVector

public abstract class AbstractStack<ELTTYPE>
extends AbstractLinear<ELTTYPE>
implements Stack<ELTTYPE>

An abstract structure implementing features common to all Last-In, First-Out structures in this package. Stacks are typically used to store the state of a recursively solved problem. The structure package provides several extensions of the AbstractStack class, each of which has its particular strengths and weaknesses.

Example usage:

To reverse a string using a stack, we would use the following:

 public static void main(String[] arguments)
 {
     if(arguments.length > 0){
           AbstractStack reverseStack = new StackList();
           String s = arguments[0];
            
           for(int i=0; i < s.length(); i++){
               reverseStack.push(new Character(s.charAt(i)));
           }

           while(!reverseStack.AbstractLinear.empty()){
               System.out.print(reverseStack.pop());
           }

           System.out.println();
     }
 }
 

See Also:
Stack, StackVector, StackList, StackArray

Constructor Summary
AbstractStack()
           
 
Method Summary
 ELTTYPE getFirst()
          Deprecated. Please use method get, rather than getFirst!
 ELTTYPE peek()
          Fetch a reference to the top element of the stack.
 ELTTYPE pop()
          Remove an element from the top of the stack.
 void push(ELTTYPE item)
          Add an element from the top of the stack.
 
Methods inherited from class structure.AbstractLinear
empty, remove
 
Methods inherited from class structure.AbstractStructure
contains, elements, hashCode, isEmpty, values
 
Methods inherited from class java.lang.Object
equals, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface structure.Stack
add, empty, get, remove, size
 
Methods inherited from interface structure.Structure
clear, contains, elements, isEmpty, iterator, remove, values
 

Constructor Detail

AbstractStack

public AbstractStack()
Method Detail

push

public void push(ELTTYPE item)
Add an element from the top of the stack.

Specified by:
push in interface Stack<ELTTYPE>
Parameters:
item - The element to be added to the stack top.
Post:
item is added to stack will be popped next if no intervening add

pop

public ELTTYPE pop()
Remove an element from the top of the stack.

Specified by:
pop in interface Stack<ELTTYPE>
Returns:
The item removed from the top of the stack.
Pre:
stack is not empty
Post:
most recently added item is removed and returned

getFirst

public ELTTYPE getFirst()
Deprecated. Please use method get, rather than getFirst!

Fetch a reference to the top element of the stack.

Specified by:
getFirst in interface Stack<ELTTYPE>
Returns:
A reference to the top element of the stack.
Pre:
stack is not empty
Post:
top value (next to be popped) is returned

peek

public ELTTYPE peek()
Fetch a reference to the top element of the stack. Provided for compatibility with java.util.Stack.

Specified by:
peek in interface Stack<ELTTYPE>
Returns:
A reference to the top element of the stack.
Pre:
stack is not empty
Post:
top value (next to be popped) is returned