Package edu.princeton.cs.algs4
Class LinkedStack<Item>
- Object
 - 
- edu.princeton.cs.algs4.LinkedStack<Item>
 
 
- 
- All Implemented Interfaces:
 Iterable<Item>
public class LinkedStack<Item> extends Object implements Iterable<Item>
TheLinkedStackclass represents a last-in-first-out (LIFO) stack of generic items. It supports the usual push and pop operations, along with methods for peeking at the top item, testing if the stack is empty, and iterating through the items in LIFO order.This implementation uses a singly linked list with a non-static nested class for linked-list nodes. See
Stackfor a version that uses a static nested class. The push, pop, peek, size, and is-empty operations all take constant time in the worst case.For additional documentation, see Section 1.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- Author:
 - Robert Sedgewick, Kevin Wayne
 
 
- 
- 
Constructor Summary
Constructors Constructor Description LinkedStack()Initializes an empty stack. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisEmpty()Is this stack empty?Iterator<Item>iterator()Returns an iterator to this stack that iterates through the items in LIFO order.static voidmain(String[] args)Unit tests theLinkedStackdata type.Itempeek()Returns (but does not remove) the item most recently added to this stack.Itempop()Removes and returns the item most recently added to this stack.voidpush(Item item)Adds the item to this stack.intsize()Returns the number of items in the stack.StringtoString()Returns a string representation of this stack.- 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait 
- 
Methods inherited from interface java.lang.Iterable
forEach, spliterator 
 - 
 
 - 
 
- 
- 
Method Detail
- 
isEmpty
public boolean isEmpty()
Is this stack empty?- Returns:
 - true if this stack is empty; false otherwise
 
 
- 
size
public int size()
Returns the number of items in the stack.- Returns:
 - the number of items in the stack
 
 
- 
push
public void push(Item item)
Adds the item to this stack.- Parameters:
 item- the item to add
 
- 
pop
public Item pop()
Removes and returns the item most recently added to this stack.- Returns:
 - the item most recently added
 - Throws:
 NoSuchElementException- if this stack is empty
 
- 
peek
public Item peek()
Returns (but does not remove) the item most recently added to this stack.- Returns:
 - the item most recently added to this stack
 - Throws:
 NoSuchElementException- if this stack is empty
 
- 
toString
public String toString()
Returns a string representation of this stack. 
- 
iterator
public Iterator<Item> iterator()
Returns an iterator to this stack that iterates through the items in LIFO order. 
- 
main
public static void main(String[] args)
Unit tests theLinkedStackdata type.- Parameters:
 args- the command-line arguments
 
 - 
 
 -