# Conversion of an INFIX expression to POSTFIX expression using STACK in C language

**Conversion of an INFIX expression to POSTFIX expression using STACK**

STACK finds an application in converting an INFIX expression to POSTFIX expression. In this application STACK is used store the operators as items.

**Procedure:**

In order to convert an INFIX expression to POSTFIX expression. Call an INFIX expression as I and a POSTFIX expression as P. Add a’)’,right parentheses, at the end of I and PUSH a’ (‘,left parentheses on to STACK.. Scan I, from left to right till STACK is empty.

If the second character is operands like 2, 3, 4 or a, b, c etc just add it to P.If the scanned character is’(‘,a left parentheses then PUSH it on to the STACK.The resulting expression P is the POSTFIX expression.

For example, consider an INFIX expression: 8*3/2 ! (2+1)

First add a ‘)’ at the end of INFIX expression and call it I.

Scan I till STACK is empty. Scanned character for the first time is 8, an operand add it to P.

P:8

Next scanned character is *, an operator PUSH it on to the STACK.

Next scanned character is 3, an op[errand add it to P.

P:8 3

Next scanned character is /, an operator, check the TOP of STACK, it contains*, * is having same hierarchy as/, so POP it and add it to P. After that the TOP of STACK is ‘(‘,so PUSH scanned character /, on to STACK.

P:8 3 *

## 0 comments: