中缀表达式的转换
来源:互联网 发布:淘宝怎么帮朋友代付款 编辑:程序博客网 时间:2024/05/16 08:47
废话少说直入主题
表达式可分为三类:一、前缀表达式 二、中缀表达式 三、后缀表达式
前缀表达式又称为波兰式,对应的后缀表达式又称为逆波兰式,中缀表达式就是我们平时看到表达式,例如:2+5=7。
中缀变成前缀的步骤:
1、初始化两个栈:s1(存放数字),s2(存放运算符)
2、表达式从右边开始,遍历表达式
3、遇到数字存放到s1中,运算符存放到s2中,存放运算符的规则是:
(1)如果s2是空的,或者栈顶是')',则直接入栈即可
(2)当前运算符和栈顶运算符相比较,若前面的运算符大于后面的运算符,直接入栈即可
(3)若当前运算符优先级小于栈顶运算符优先级,则把栈s2中的栈顶运算符放到s1栈中并重复(2)(3)
4、s2依次出栈,入s1栈
5、s1出栈,重新组成表达式即为前缀表达式
中缀变成后缀的步骤:
1、初始化两个栈:s1(存放数字),s2(存放运算符)
2、表达式从左边开始,遍历表达式
3、数字存放到s1中,运算符存放到s2中,存放运算符的规则是:
(1)如果s2是空的,或者栈顶是'(',则直接入栈即可
(2)当前运算符和栈顶运算符相比较,大于栈顶运算符优先级,直接入栈即可
(3)若当前运算符优先级小于等于栈顶运算符优先级,则把栈s2中的栈顶运算符放到s1栈中并重复(2)(3)
(4)遇到')',运算符出栈,入s1栈,直到遇到'(','()'丢掉
4、s1依次出栈,入s2栈
5、s2出栈,重新组成表达式即为后缀表达式
阅读全文
0 0
- 中缀表达式的转换
- 中缀表达式的转换
- 中缀后缀表达式的转换
- 中缀表达式与前缀表达式的转换
- 中缀表达式到后缀表达式的转换
- 中缀表达式到后缀表达式的转换
- 中缀表达式到后缀表达式的转换
- 中缀表达式与前缀表达式的转换
- 中缀到后缀表达式的转换
- 中缀表达式与前缀,后缀的转换
- 中缀表达式的转换,为多项式计算
- 中缀、前缀、后缀表达式之间的转换
- 前缀---中缀--后缀 表达式的相互转换
- 中缀和后缀表达式之间的转换
- 表达式 中缀 后缀 转换
- [整合]中缀表达式、前缀表达式、后缀表达式的相互转换
- 中缀表达式转换为后缀表达式&后缀表达式的计算
- 中缀表达式转换后缀表达式
- 关于float转int的函数实现
- Java基础之初识Java
- 版本管理三国志 (CVS, Subversion, git)
- Eclipse 安装 C++ ARM JAVA介绍 (Windows & Linux)
- Android SharedPreference存储技术
- 中缀表达式的转换
- 微信小程序----组件之icon
- Platform总线注册驱动
- 字符串匹配算法KMP
- Glide4.0.0用法
- 继承
- bzoj2161 布娃娃
- Node.js 用回调处理一次性事件
- LeetCode(461) Hamming Distance