我需要算法来检查给定表达式是infix、后缀还是前缀表达式。我尝试了一种方法,检查字符串的第一个或最后两个项。
+AB如果字符串的第一个索引中有一个运算符,那么它就是一个前缀 AB+如果字符串的最后一个索引中有一个操作符,那么它就是一个后缀。 否则就成了替罪羊。
但我觉得不太合适,所以请给我一个更好的算法。
发布于 2016-10-06 00:55:48
请注意,(3)包括括号中表达式的注释中提到的情况。前缀或后缀中没有括号。这就是他们存在的原因。(3)还包括单个术语的简并情况,例如1,但在这种情况下,如何解析它并不重要。
您只能通过完全解析一个无效的表达式来检测它。
如果要允许一元运算符使用内固定符号,我只能建议您尝试所有三个解析,并在成功时停止。很可能这就是你应该遵循的策略。
发布于 2021-12-10 23:56:10
检查字符串中的第一个元素。1-如果第一个元素是运算符,那么它是用于确定前缀表达式2- for,检查第二个元素,如果它是运算符,那么它是肯定infix 3-否则,它是为确定后缀。
https://stackoverflow.com/questions/39823568
复制相似问题