码迷,mamicode.com
首页 > 其他好文 > 详细

递归改循环

时间:2015-01-08 14:39:38      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

递归需要保存现场,所以会导致栈不断加深。因此如果改循环,那么也需要创建栈来保存现场。

书写递归函数时,递归函数的退出是由于不满足递归条件而导致的,但从结果上来看即是现场的退出。因此改为循环时,循环条件可以是现场数量是否为0,即栈元素是否为零。

进入一次递归函数可以看成是入栈,退出一次递归函数则是出栈。

可以根据形参的数量创建相应数量的栈,各个栈用于保存相应的形参。如果形参中包含这样的参数——该参数代表的内存贯穿整个递归——那么该参数可以不放入栈元素中。

递归函数体即为循环体。

递归改循环

标签:

原文地址:http://www.cnblogs.com/lixtary/p/4210586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!