逆波兰代码下载

眼镜333 今日头条 工程师  2018-06-29 09:29:58
逆波兰变换算法
(1)建立两个栈,一个S1用来存放操作符+ - * / ( ),另一个S2用来存放生成的逆波兰表达式(本文中为了方便用一个字符串来存放逆波兰表达式),操作符栈遵循越往栈顶操作符优先级越高的原则。
(2)从中缀表达式的最左端开始逐个读取字符X,按一下规则对X进行处理:
a:如果X为数字,则直接放入S2
b:如果X为操作符,按以下情况处理:
b1— 如果X为’(‘,则直接压入S1
b2— 如果X为’)‘,则将S1中距离栈顶最近的’(‘之间的元素依次弹出放入S2,’(‘直接抛弃 b3— 如果X为’+ - * /‘,若当前S1为空,则直接将X压入S1,否则将X与S1当前栈顶元素比较,若X的优先级大于S1当前栈顶元素优先级,则将X直接压入S1,否则将S1的栈顶元素弹出,放入S2,直到S1栈顶运算符优先级低于(不包括等于)X的优先级,此时再则将X压入S1
(3)步骤(2)结束之后,将栈S1中剩余的元素依次弹出,放入S2。
相关下载链接://download.csdn.net/download/weixin_42570032/10506602?utm_source=bbsseo
...全文
5 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
下载资源悬赏专区
创建于2007-03-31

8982

社区成员

CSDN 下载资源悬赏专区
申请成为版主
帖子事件
创建了帖子
2018-06-29 09:29
社区公告
暂无公告