中缀表达式转后缀表达式,如何处理取余运算符,举个复杂的运算例子
时间: 2023-03-29 16:04:32 浏览: 130
C++中缀表达式转后缀表达式的方法
5星 · 资源好评率100%
对于中缀表达式转后缀表达式,我们可以使用栈来实现。当遇到运算符时,我们需要判断其优先级,如果当前运算符的优先级小于等于栈顶运算符的优先级,则将栈顶运算符弹出并加入后缀表达式中,直到栈顶运算符的优先级小于当前运算符的优先级或者栈为空。如果遇到取余运算符,我们可以将其看作是一个普通的运算符,按照其优先级进行处理即可。
举个例子,假设我们有一个中缀表达式:(3+4)*5%6,我们可以按照以下步骤将其转换为后缀表达式:
1. 将左括号入栈
2. 将3入栈
3. 将+入栈
4. 将4入栈
5. 弹出+并加入后缀表达式中
6. 将*入栈
7. 将5入栈
8. 将%入栈
9. 将6入栈
10. 弹出%并加入后缀表达式中
11. 弹出*并加入后缀表达式中
12. 弹出左括号并丢弃
13. 将后缀表达式输出,得到:3 4 + 5 * 6 %
阅读全文