我正在实施调车场算法。我无法检测何时缺少运算符的参数。维基百科条目在这个主题上非常糟糕,并且他们的代码在下面的示例中也崩溃了。
例如3 - (5 + )不正确,因为+缺少参数。
就在算法到达 之前),运算符堆栈包含- ( +并且操作数堆栈包含3 5。然后它是这样的:
+它从运算符堆栈中弹出- 发现这
+是一个二元运算符 - 弹出两个操作数,应用运算符并将结果 ( ) 推
8送到操作数堆栈 - 然后它
(从堆栈中弹出匹配项,并继续
那么我怎样才能检测到+缺少参数呢?如果您还更新了维基百科,那就再好不过了 :-)