Stack
Linear collection of elements where elements are added and removed following the LIFO (Last In First Out) principle.
Can be implemented on top of a linked list.
Use cases
- Undo and Redo
- Any other algorithm where you need to keep track of the steps that you performed.