由中缀式转化为后缀式
2012-08-31 20:53
239 查看
比如: 10+(18+9*3)/ 15 - 6
步骤如下:
首先初始化两个栈,S1,S2;S1存操作数,S2存运算符,然后从左到右扫描,
1.遇到( ,直接进栈 ,遇到 ) 时,把S2中的操作数一直到 ( 之前 ,都存入 S1,
2. 遇到 + — * / 时,如果当前的算符优先级小于S2中的优先级的话,就压入S1中
S1:10 18 9 3
S2:+ ( + *
这时遇到右括号:
S1:10 18 9 3 * +
S2:+
S1:10 18 9 3 * + 15
s2:+ /
S1:10 18 9 3 * + 15 / +6
S2:—
S1:10 18 9 3 * + 15 / + 6 —
S2:
到此结束。
步骤如下:
首先初始化两个栈,S1,S2;S1存操作数,S2存运算符,然后从左到右扫描,
1.遇到( ,直接进栈 ,遇到 ) 时,把S2中的操作数一直到 ( 之前 ,都存入 S1,
2. 遇到 + — * / 时,如果当前的算符优先级小于S2中的优先级的话,就压入S1中
S1:10 18 9 3
S2:+ ( + *
这时遇到右括号:
S1:10 18 9 3 * +
S2:+
S1:10 18 9 3 * + 15
s2:+ /
S1:10 18 9 3 * + 15 / +6
S2:—
S1:10 18 9 3 * + 15 / + 6 —
S2:
到此结束。
相关文章推荐
- 中缀式转化为前缀式,中缀式转化为后缀式
- 如何将中缀式转化成前缀式和后缀式
- 后缀式与中缀式的恩怨-->中缀表达式转化为后缀表达式
- 如何将中缀式转化成前缀式和后缀式
- 中缀式转化为后缀式的步骤 (简单计算器 的实现)
- 中缀式与后缀式的转化 郁闷的C小加(一)
- 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)(适合考试使用的简单办法)
- 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)结合二叉树(适合数据结构方面的理解)
- 中缀式变为后缀式
- 将中缀式转化为逆波兰式 (栈)
- 数据结构实验之栈二:一般算术表达式转换成前缀式,中缀式,后缀式
- nyoj-409 郁闷的C小加(三) (表达式求值,中缀式转前缀式,中缀式转后缀式)
- 表达式的中缀式转换为前缀式及后缀式
- 前缀式(波兰式)与后缀式(逆波兰式)求解表达式的值,中缀式(一般算数表达式不做讨论)
- 计算四则表达式(中缀式转后缀式,然后计算结果)
- 表达式求值 中缀式转换成后缀式
- 如何推倒后缀式(如何由中缀式转换为后缀式)
- 中缀式转换为后缀式(逆波兰式)方法
- nyoj 467 中缀式变后缀式 nyoj 257 郁闷的C小加(一)
- 中缀式转换为后缀式(逆波兰式)方法