将递归函数转换为非递归函数

sam*_*kar 0 recursion

我只是想知道,是否可以将此递归函数转换为非递归函数

unsigned Parser::Not(unsigned eff)
{
  if (eff == 0) return 1;

  if (eff == 1) return 0;

  Node rn(ri.get_key(eff));

  rn.t_branch_id = Not(rn.t_branch_id);
  rn.f_branch_id = Not(rn.f_branch_id);

  return CodeRuleNode(rn);
}
Run Code Online (Sandbox Code Playgroud)

LBu*_*kin 8

是.您可以通过实现自己的堆栈来跟踪状态,从而将任何递归函数转换为非递归函数.