中缀表达式变为后缀表达式
中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”
中缀表达式转后缀表达式的方法:
1.遇到操作数:直接输出(添加到后缀表达式中)
2.栈为空时,遇到运算符,直接入栈
3.遇到左括号:将其入栈
4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。
5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈
6.最终将栈中的元素依次出栈,输出。
实现9+(3-1)*3+10/2,栈=空
1.9输出 表达式=9 栈=空
2.+入栈 表达式=9 栈=+
3.(入栈 表达式=9 栈=+(
4.3输出 表达式=9 3 栈=+(
5.-入栈 表达式=9 3 栈=+(-
6.1输出 表达式=9 3 1 栈=+( -
7.)比较栈顶 表达式=9 3 1 - 栈=+
8.*入栈 表达式=9 3 1 - 栈=+*
9.输出, 表达式=9 3 1 - 3 栈=+*
10.+比较栈顶 表达式=9 3 1 - 3 * + 栈=+
11.10输出 表达式=9 3 1 - 3 * + 10 栈=+
12./入栈 表达式=9 3 1 - 3 * + 10 栈=+ /
13.2输出 表达式=9 3 1 - 3 * + 10 2 栈=+ /
14.栈清空 表达式=9 3 1 - 3 * + 10 2 / + 栈=空
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异