week2/4-stack/README.md

41 lines
910 B
Markdown

Stack
=====
Wikipedia on [stacks](http://en.wikipedia.org/wiki/Stack_(abstract_data_type)).
Similarly, the Linked List, a stack is an abstract data type. It is LIFO, or Last In First Out. Each node holds data and a pointer to the next node.
### Visualization
|42|
|
|60|
|
|99|
|
|3|
|
None
The main operations available to the Stack are push and pop.
- Pop should remove the top node and return it.
- Push should add to the top of the stack.
### Methods
Create your datatypes and create the following methods:
- push - adds to the stack
- pop - removes from the top of the stack
- peek - Find the item at the top of the stack
- empty - Is the stack empty?
### Additional Methods
In the wikipedia article, read under the title "Hardware Stacks". Emulating a hardware stack, add the operations it lists to your class. This is open ended and implementation is up to you.