Yod*_*oda 2 java infix-notation postfix-notation
我正在寻找中缀符号的算法后缀,它将产生最小数量的括号.
我发现它会产生很多很多括号:http://tajendrasengar.blogspot.com/2011/09/postfix-to-infix-algorithm.html
例如
输入:
<ONP>abcd*/+~
Run Code Online (Sandbox Code Playgroud)
结果:
<INF>~(a+b/(c*d))
Run Code Online (Sandbox Code Playgroud)
如果你真的想要尽可能少的括号,你需要做什么,就像你所链接的算法所说的那样.然而...
Stack.即,操作数中使用的最后一个运算符.你可以使用一秒钟Stack.如果操作数不是复合操作数,则可以添加null到第二个操作数Stack,因为没有操作符.String用括号括起结果.这在算法的其他地方完成(见下文).当您从每个Stacks中弹出前两个值时,您手头有3个运算符:
根据这三个运算符,您应该在组合之前用括号封装第一个和/或第二个操作数.
您可以使用运算符优先级来确定是否应该有括号.订单如下:(none), {"*", "/"}, {"+", "-"}
"/"或"-".其余的应该按照算法描述的方式完成.
| 归档时间: |
|
| 查看次数: |
2888 次 |
| 最近记录: |