41 lines
910 B
Markdown
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.
|
|
|
|
|