中缀表达式转换到后缀表达式

hqxiaoying hqxiaoying 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
按照以下方法进行转换,为什么结果不一样,当运算符的优先级一样时,如*和/时,是压栈还是出栈呢,请高手能够予以解答,谢谢
转换算法:
1)检查输入的下一元素。
2)假如是个操作数,输出。
3)假如是个开括号,将其压栈。
4)假如是个运算符,则
i) 假如栈为空,将此运算符压栈。
ii) 假如栈顶是开括号,将此运算符压栈。
iii) 假如此运算符比栈顶运算符优先级高,将此运算符压入栈中。
iv) 否则栈顶运算符出栈并输出,重复步骤4。
5)假如是个闭括号,栈中运算符逐个出栈并输出,直到遇到开括号。开括号出栈并丢弃。
6)假如输入还未完毕,跳转到步骤1。
7)假如输入完毕,栈中剩余的所有操作符出栈并输出它们。
以对下中缀表达式2*(x+y)/(1-x)转换成后缀表达式应该是什么?
...全文

相关推荐

C语言实现中缀表达式转换为后缀表达式

主要为大家详细介绍了C语言实现中缀表达式转换为后缀表达式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

weixin_38645862

将中缀表达式转换为后缀表达式_C++程序

将中缀表达式转换为后缀表达式_C++程序

a1005838814

中缀表达式转换为后缀表达式及逆波兰式求值

该程序实现了运算表达式转换为中缀表达式、中缀表达式转换为后缀表达式及后缀表达式求值。该程序已实现加减乘除括号运算符及求余、幂指数的求解

qq_39310287

中缀表达式转换为后缀表达式(oj题库)

中缀表达式转换为后缀表达式(oj题库) 中缀表达式转换为后缀表达式(oj题库) 题目描述 中缀表达式是一个通用的算术或逻辑公式表示方法,操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将中缀表达式转换为后缀表达式。(测试数据元素为单个字符) 输入 中缀表达式 输出 后缀表达式 代码如下 #include #include #include using namesp

weixin_38668274

c语言实现中缀表达式向后缀表达式转换

c语言实现中缀表达式向后缀表达式转换 分类:算法+数据结构

liheng0509
评论 7
收藏 已收藏
分享
返回顶部
hqxiaoying
数据结构与算法 33,027 成员 35,334 内容