Class IntStack

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class IntStack
    extends IntVector
    Implement a stack of simple integers. %OPT% This is currently based on IntVector, which permits fast acess but pays a heavy recopying penalty if/when its size is increased. If we expect deep stacks, we should consider a version based on ChunkedIntVector.
    • Constructor Detail

      • IntStack

        public IntStack()
        Default constructor. Note that the default block size is very small, for small lists.
      • IntStack

        public IntStack​(int blocksize)
        Construct a IntVector, using the given block size.
        Parameters:
        blocksize - Size of block to allocate
      • IntStack

        public IntStack​(IntStack v)
        Copy constructor for IntStack
        Parameters:
        v - IntStack to copy
    • Method Detail

      • push

        public int push​(int i)
        Pushes an item onto the top of this stack.
        Parameters:
        i - the int to be pushed onto this stack.
        Returns:
        the item argument.
      • pop

        public final int pop()
        Removes the object at the top of this stack and returns that object as the value of this function.
        Returns:
        The object at the top of this stack.
      • quickPop

        public final void quickPop​(int n)
        Quickly pops a number of items from the stack.
      • peek

        public final int peek()
        Looks at the object at the top of this stack without removing it from the stack.
        Returns:
        the object at the top of this stack.
        Throws:
        java.util.EmptyStackException - if this stack is empty.
      • peek

        public int peek​(int n)
        Looks at the object at the position the stack counting down n items.
        Parameters:
        n - The number of items down, indexed from zero.
        Returns:
        the object at n items down.
        Throws:
        java.util.EmptyStackException - if this stack is empty.
      • setTop

        public void setTop​(int val)
        Sets an object at a the top of the statck
        Parameters:
        val - object to set at the top
        Throws:
        java.util.EmptyStackException - if this stack is empty.
      • empty

        public boolean empty()
        Tests if this stack is empty.
        Returns:
        true if this stack is empty; false otherwise.
        Since:
        JDK1.0
      • search

        public int search​(int o)
        Returns where an object is on this stack.
        Parameters:
        o - the desired object.
        Returns:
        the distance from the top of the stack where the object is] located; the return value -1 indicates that the object is not on the stack.
        Since:
        JDK1.0
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns clone of current IntStack
        Overrides:
        clone in class IntVector
        Returns:
        clone of current IntStack
        Throws:
        java.lang.CloneNotSupportedException