- 首先建立两个栈,操作数栈OVS和运算符栈OPS。
- 1、建立运算符栈stackOperator用于运算符的存储,压入'\\0'。
- 将该字符与运算符栈顶的运算符的优先关系相比较。
- 做法如下:将该字符与运算符栈顶的运算符的优先关系相比较。
- 如果,该字符优先关系高于此运算符栈顶的运算符,则将该运算符入栈。
- (1)首先构造一个运算符栈,此运算符在栈内遵循越往栈顶优先级越高的原则。
- 提示算法:设两个栈,一个是操作数栈,用来存放操作数,如3、4、8等,另一个是运算符栈,用来存放运算符。
- (1)首先构造一个运算符栈(也可放置括号),运算符(以括号分界点)在栈内遵循越往栈顶优先级不降低的原则进行排列。
- (3)、若运算符W为右括号且运算符栈栈顶的运算符为左括号(即OPS(topp)=’(‘),则将左括号从运算符栈谈出,且继续扫描下一个符号。
- (1)、若运算符为左括号或者运算符的优先级大于运算符栈栈顶的运算符(即OPS(top)),则将运算符W压入运算符栈OPS,并继续扫描下一个字符。
Last modified time:Wed, 13 Aug 2025 00:29:56 GMT