diameter 发表于 2010-10-5 17:59:25

逆波兰表达式的一个问题

逆波兰表达式中没有办法区分“-”(减号)与“-”(负号)
该怎么解决?
是不是该在此时判定栈是否为空(空的时候为负号,不空为减号)

diameter 发表于 2010-10-5 18:02:41

除非像CASIO里面一样,从新创建一个字符集,连科学函数都当成字符……(负号与减号不是同一个字符)
(经过我的测试,在转换为逆波兰表达式的时候想实现 log 3*4+2=log(3*4)+2的效果(与计算器的判定相同),居然要把log(包括其他函数)的优先级调到乘除以下,无语)

diameter 发表于 2010-10-5 18:10:17

没人吗

Cyvre 发表于 2010-10-5 20:41:27

不懂……

Σ理论EQN 发表于 2010-10-6 07:43:22

a+b ---> a,b,+   a+(b-c) ---> a,b,c,-,+   a+(b-c)*d ---> a,b,c,-,d,*,+   a+d*(b-c)--->a,d,b,c,-,*,+   a=1+3 ---> a=1,3 +

疯不狂 发表于 2010-10-6 10:38:48

在我的数学观念中,逆波兰表达式使用困难。

diameter 发表于 2010-10-6 16:20:30

在我的数学观念中,逆波兰表达式使用困难。
疯不狂 发表于 2010-10-6 10:38 http://www.cncalc.org/images/common/back.gif
对于计算机来说,逆波兰表达式更易于计算
有兴趣的可也去翻翻《编译原理》

imath 发表于 2010-10-6 16:55:19

绝对习惯algebra
《编译原理》还不如《算法导论》

diameter 发表于 2010-10-6 16:57:40

绝对习惯algebra
《编译原理》还不如《算法导论》
imath 发表于 2010-10-6 16:55 http://www.cncalc.org/images/common/back.gif
废话,你找的出来更经典的书吗
页: [1]
查看完整版本: 逆波兰表达式的一个问题