Back to Homepage
Back to ACM Page
Back to Algorithms Page
input expression: 3 * 12 - 4 / (5-1)
Operator Priorities:
(, ) == 0
+, - == 1
*, / == 2
algo:
Parenthesis:
ex: 3 * 12 - 4 / (5-4 / 1)
|
Input |
Output |
stack |
|
3*12-4/(5-4/1) |
|
|
|
*12-4/(5-4/1) |
3 |
|
|
12-4/(5-4/1) |
3 |
* |
|
-4/(5-4/1) |
3 12 |
* |
|
4/(5-4/1) |
3 12 * |
- |
|
/(5-4/1) |
3 12 * 4 |
- |
|
(5-4/1) |
3 12 * 4 |
-/ |
|
5-4/1) |
3 12 * 4 |
-/( |
|
-4/1) |
3 12 * 4 5 |
-/( |
|
4/1) |
3 12 * 4 5 |
-/(- |
|
/1) |
3 12 * 4 5 4 |
-/(- |
|
1) |
3 12 * 4 5 4 |
-/(-/ |
|
) |
3 12 * 4 5 4 1 |
-/(-/ |
|
|
3 12 * 4 5 4 1 / - |
-/ |
|
|
3 12 * 4 5 4 1 / - / - |
|
3 * 12
4 / 1
5 – 4 / 1
4 / (5-4/1)
3*12 - 4 / (5-4/1)