CS Level Up Series (28 Part Series)
- Stacks are LIFO (Last In First Out) - similar to a stack of books. When you retrieve an element from a Stack, you get the element that was added most recently.
- The last element added to a Stack is called the "top" element. This makes sense if you think about the stacking books analogy - the book you add last will be at the top!
- Stacks have fast operations: adding (pushing), removing (popping), and retrieving the top/last element (peeking) are all O(1) (constant).
- Space is O(n).
- Stacks are commonly implemented with Arrays or Linked Lists. To keep my implementation simple, I went with a regular (versus dynamic) array - this means the consumer of the Stack class is required to provide a size on initialization.
Overall Stacks are a relatively simple topic. Here's the finished implementation with test code:
As always, if you found any errors in this post please let me know!