首页 > 代码库 > 递归改循环
递归改循环
递归需要保存现场,所以会导致栈不断加深。因此如果改循环,那么也需要创建栈来保存现场。
书写递归函数时,递归函数的退出是由于不满足递归条件而导致的,但从结果上来看即是现场的退出。因此改为循环时,循环条件可以是现场数量是否为0,即栈元素是否为零。
进入一次递归函数可以看成是入栈,退出一次递归函数则是出栈。
可以根据形参的数量创建相应数量的栈,各个栈用于保存相应的形参。如果形参中包含这样的参数——该参数代表的内存贯穿整个递归——那么该参数可以不放入栈元素中。
递归函数体即为循环体。
递归改循环
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。