对递归的更深理解

420日上午,对递归的更深入理解:


递归的两个关键:


1return语句的位置


                      包含两个关键:


                          <1>、在终止条件处的return
                      <2>
、正常情况下的return


2、 什么时候开始进行递归(函数的自调用)



421日上午,对递归的进一步理解:注意递归函数的参数问题


递归的一个需要注意的细节是:后面所做的动作是 绝对不能影响到 前面的层次
1、注意递归函数的参数问题


例如:


int factial(int j)


{


return j<2?1:j*factial(j-1);


}


这里:factial(j-1)绝对不能换为factial(--j),因为,下一层的调用影响了本层的使用。
2、不使用参数照样可以改变前层的递归--一般是存在递归函数共同使用的数据结构时:
详细请看:http://hi.baidu.com/omycle/blog/item/d8ca0222566800a14723e860.html

评论

此博客中的热门博文

Linux/ARM Page Table Entry 属性设置分析

由RFE指令引发的一串故事

提交了30次才AC ---【附】POJ 2488解题报告