写出后缀表达式计算值的完整算法代码,接着总结出其中的核心代码
时间: 2023-03-09 18:19:43 浏览: 92
完整的算法代码如下:// 初始化栈
Stack s = new Stack();// 从左到右遍历后缀表达式
for (int i = 0; i < expression.length; i++) {
// 如果为操作数,压栈
if (expression[i].isOperand()) {
s.push(expression[i]);
}
// 如果为操作符,从栈中弹出两个操作数进行运算
else {
// 从栈中弹出两个操作数
int op1 = s.pop();
int op2 = s.pop();
// 根据操作符进行计算
int result = 0;
switch (expression[i]) {
case "+":
result = op1 + op2;
break;
case "-":
result = op1 - op2;
break;
case "*":
result = op1 * op2;
break;
case "/":
result = op1 / op2;
break;
}
// 将计算结果压栈
s.push(result);
}
}
// 计算结束,弹出最终结果
int result = s.pop();// 总结
// 该算法的核心代码就是从栈中弹出两个操作数,根据操作符进行计算,将计算结果压栈,最终弹出最终结果。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)