Postfix Evaluations using Stack
Stack follows LIFO concept. Based on Stack operations and order of operands a mathematical expression is evaluated.
When two operands pushed into Stack then the most higher order operands will be evaluated.
2. INTRODUCTION
Scan the postfix expression left to right
ïź If the character x is a digit
ïź Push it into the stack
ï± if the character is an operator (+,-,*,/)
ïź pop two values from the stack
ïź Perform the operation
ïź Push the result of the operation into the stack
When all characters in postfix expression are processed pop the
value from the stack and output it.
11. d â ( e + f )
a b + c -
*
Stack
Postfix Evaluation
Postfix Expression
Stack
(
-
7
5
8 * + 3 + *
2 + 3 = 5
12. Postfix Evaluation
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
8 * + 3 + *
5 ï ï ï = ï
13. Postfix Evaluation
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
* + 3 + *
5
8
ï ï ï = ï
14. e + f )
a b + c â d *
-
(
Stack
Postfix Evaluation
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
+ 3 + *
5
8
ï * ï = ï
15. + f )
a b + c â d * e
-
(
Stack
Postfix Evaluation
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
+ 3 + *
5 ï * 8 = ï
16. f )
a b + c â d * e
-
(
+
Stack
Postfix Evaluation
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
+ 3 + *
5 * 8 = ï
17. )
a b + c â d * e f
-
(
+
Stack
Postfix Evaluation
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
+ 3 + *
5 * 8 = 40
18. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
+ 3 + *
40 ï ï ï = ï
19. a b + c â d * e f + -
Stack
Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
3 + *
40 ï + ï = ï
20. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
5
3 + *
ï + 40 = ï
21. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
3 + *
5 + 40 = ï
22. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
3 + *
5 + 40 = 45
23. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
45
3 + *
ï ï ï = ï
24. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
45
+ *
3
ï ï ï = ï
25. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
45
*
3
ï + ï = ï
26. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
45
*
ï + 3 = ï
27. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
*
45 + 3 = ï
28. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
*
45 + 3 = 48
29. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
*
ï ï ï = ï
48
30. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
ï * ï = ï
48
31. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7
ï * 48 = ï
32. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7 * 48 = ï
33. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
7 * 48 = 336
34. Postfix Evaluation
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
6
18
3 + *
a b + c â d * e f +
-
Stack
( e + f )
a b + c â d *
-
Stack
â ( e + f )
a b + c - d
*
Stack
Postfix Expression
Stack
(
-
336
ï ï ï = ï