Stack

Stack is a data structure which behaves like a stack of some real world objects ( books, plates, etc ) allowing immediate access to top of the stack only at any given time.

Since we have immediate access to top of the stack at any time, this data structure is apt for scenarios where we need the most recent added element or we need to process elements always in such a fashion that we always process the last added element before the first added element. Stack is also called as LIFO ( Last In First Out ) data structure. Recursion stacks are a classical use case of stacks where activation records of functions are pushed and popped