What is Stack data structure

A stack is a Linear data structure, used to store the data effectively and efficiently.

It follows Last in First Out(LIFO). Elements are inserted and deleted from top of an stack.

Let us consider a example of dishes.Here we add the dishes from the top i.e. considered as push and we remove the dishes from the top i.e considered as push

Stack stores different type of the Elements such as strings,integers etc.

It provides different operations or methods to work with stack

Stack can be implemented using Array or LinkedList

Stack Operations

Stack contains following basic operations

  • push : Adds an element to an Stack
  • pop : Removes an element from an stack
  • top : Returns the top element of an stack
  • isEmpty : true, if stack is empty, false if stack is not empty
  • size : Returns the size of an elements

Stack vs Queue

Stack  Queue  
Last In First OutFirst In First Out
Linear Data structureLinear Data structure
Add and delete elements from top of an listAdd and delete elements from both sides. Adds an elements to rear list, Delete an element from Front of an list
Add an element to Stack called PushAdd an element to Queue called Enqueue
Removes an element from a stack called PopRemoves an element is called Dequeue
Recursion used for Data storagesequential processing for data process