Here you will learn about applications of stack.

Stack is an abstract data type and a data structure that follows LIFO (last in first out) strategy. It means the element added last will be removed first. Stack allows two operations push and pop. Push adds an element at the top of the stack and pop removes an element from top of the stack.

Below I have mentioned few applications of stack data structure.

## Applications of Stack

**Expression Evaluation**

Stack is used to evaluate prefix, postfix and infix expressions.

**Expression Conversion**

An expression can be represented in prefix, postfix or infix notation. Stack can be used to convert one form of expression to another.

**Syntax Parsing**

Many compilers use a stack for parsing the syntax of expressions, program blocks etc. before translating into low level code.

**Backtracking**

Suppose we are finding a path for solving maze problem. We choose a path and after following it we realize that it is wrong. Now we need to go back to the beginning of the path to start with new path. This can be done with the help of stack.

**Parenthesis Checking**

Stack is used to check the proper opening and closing of parenthesis.

**String Reversal**

Stack is used to reverse a string. We push the characters of string one by one into stack and then pop character from stack.

**Function Call**

Stack is used to keep information about the active functions or subroutines.

There are various other applications of stack. I have mentioned some of them. Comment below if you found any mistake in above article.

A stack can also be used for tracking local variables at runtime.