本文主要偏重实现如何将字符串表达式转换为逆波兰表达式。
关于其讲解参考我转载的一篇博文:http://www.cnblogs.com/vpoet/p/4659546.html
先说说优先级:
() +- */%(从左到右递增)
下面先简单再梳理一下:
1.建立两个栈,一个为N(数据栈),一个为OP(运算符栈)
2.将字符串从左向右遍历,把数据压入数据栈,把运算符压入运算符的栈
关于运算符压栈的规则:⑴ 如果OP为空直接将运算符压入栈
⑵ 如果不为空,则比较待入栈元素和栈顶元素的优先级
如果栈顶元素的优先级小,则直接入栈,否则将栈内元素依次出栈并压入
时间: 2024-10-24 23:18:09