Algorithm to evaluate prefix expression?

让人想犯罪 __ 提交于 2019-12-01 14:39:16

Simple recursion:

Evaluate(input):
  Read a token from input.
  If the token is a value:
    Return the value of the token
  If the token is a binary operator:
    Let first_argument = Evaluate(input)
    Let second_argument = Evaluate(input)
    Return apply(operator, first_argument, second_argument)

Use a stack. Place your vars and operators and start popping each stack, one for operators and the other for varaiablss (the number of pops depending on arity).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!