后缀表达式求值pta数据结构
时间: 2023-11-23 18:06:10 浏览: 69
对于后缀表达式求值,我们可以借助栈来实现。具体步骤如下:
1. 创建一个空栈。
2. 从左到右遍历后缀表达式的每个元素,如果是数字则压入栈中,如果是操作符则从栈中弹出两个数字进行计算,再将计算结果压入栈中。
3. 最终栈中只剩下一个数字,即为后缀表达式的计算结果。
下面是一个C++代码示例:
```c++
#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main() {
string postfix; // 后缀表达式
cin >> postfix;
stack<int> st;
for (char c : postfix) {
if (isdigit(c)) { // 数字
st.push(c - '0');
} else { // 操作符
int b = st.top(); st.pop();
int a = st.top(); st.pop();
switch (c) {
case '+': st.push(a + b); break;
case '-': st.push(a - b); break;
case '*': st.push(a * b); break;
case '/': st.push(a / b); break;
}
}
}
cout << st.top() << endl; // 输出计算结果
return 0;
}
```
阅读全文