有中缀表达式(15-(17-2)/5)*3,(1)求其后缀表达式;请使用顺序栈进行后缀表达式运算,请做出该栈变化图。
时间: 2024-04-02 12:37:02 浏览: 85
利用顺序栈实现中缀表达式的计算问题
该中缀表达式的后缀表达式为:15 17 2 - 5 / - 3 *
使用顺序栈进行后缀表达式运算的过程如下:
1. 从左到右扫描后缀表达式,遇到数字入栈;
2. 遇到运算符,从栈中弹出两个数字,进行运算,并将结果入栈;
3. 重复步骤1和2,直到扫描完整个后缀表达式,此时栈中只剩下一个数字,即为表达式的结果。
下面是该表达式的栈变化图:
| 栈 | 输入 | 操作 |
| :--------: | :----------: | :----------: |
| | 15 | 入栈 |
| 15 | 17 | 入栈 |
| 15 17 | 2 | 入栈 |
| 15 17 2 - | 5 | 入栈 |
| 15 (17-2)/5 | / | 弹出17、2,计算(17-2),结果入栈 |
| 15 3 | * | 弹出15、3,计算15 * 3,结果入栈 |
| 45 | | 结果 |
阅读全文