Search

Wednesday, January 21, 2015
0 comments

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

12:41 AMWednesday, January 21, 2015
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 * 




Protected by Copyscape Online Copyright Protection Software

0 comments :

Post a Comment

 
Toggle Footer
Top