中缀表达式转化为后缀表达式
中缀表达式和后缀表达式分别在向量IFX和PFX中,用栈S实现中缀式转为后缀式,对IFX中表达式从左到右扫描,设TOKEN是扫描读到的符号,转换算法可描述如下。
栈初始化
从左向右扫描向量IFX,直到结尾:
1.从IPX中取出下一个TOKEN
2.CASE TOKEN OF
'(': 将TOKEN压入栈S
number: 将操作数送入PFX
operator: 如果栈为空,或者TOKEN比栈顶元素优先级高,将TOKEN进栈;否则,将栈顶元素送入PFX,弹栈。重复。。。
')': 将栈顶元素加入PFX,直到遇到左括号,左括号不加入PFX
3.将栈顶元素加入PFX,直到栈为空
中缀表达式和后缀表达式分别在向量IFX和PFX中,用栈S实现中缀式转为后缀式,对IFX中表达式从左到右扫描,设TOKEN是扫描读到的符号,转换算法可描述如下。
栈初始化
从左向右扫描向量IFX,直到结尾:
1.从IPX中取出下一个TOKEN
2.CASE TOKEN OF
'(': 将TOKEN压入栈S
number: 将操作数送入PFX
operator: 如果栈为空,或者TOKEN比栈顶元素优先级高,将TOKEN进栈;否则,将栈顶元素送入PFX,弹栈。重复。。。
')': 将栈顶元素加入PFX,直到遇到左括号,左括号不加入PFX
3.将栈顶元素加入PFX,直到栈为空