函数的递归调用:
定义:在调用一个函数的过程中有出现之间或者间接的调用函数本身
目的:把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题
递归的基本原理:
1: 每一次函数调用都会有一次返回.当程序流执行到某一级递归的结尾处时,它会转移到前一级递归继续执行.
2: 递归函数中,位于递归调用前的语句和各级被调函数具有相同的顺序.
3: 每一级的函数调用都有自己的私有变量.
4: 递归函数中,位于递归调用语句后的语句的执行顺序和各个被调用函数的顺序相反.
5: 虽然每一级递归有自己的变量,但是函数代码并不会得到复制.
6: 递归函数中必须包含可以终止递归调用的语句.
接下来用例子说明:
关于求学生年龄,其中已知有5位同学,第5位学生比第4位学生大2岁, 第4位学生比第3位学生大2岁,
第n名同学比第n-1名同学年龄大两岁,依次向前类推,
已知第1位同学的年龄为10岁。求第5位同学的年龄。
解题思路:
-
想知道第5位同学的年龄先知道第4位同学的年龄,Age(5)=Age(4)+2;
第4位同学的年龄取决于第3位同学的年龄,Age(4)=Age(3)+2;
第3位同学的年龄取决于第2位同学的年龄,Age(3)=Age(2)+2;
第2位同学的年龄取决于第1位同学的年龄,Age(2)=Age(1)+2;
其已知第一位同学的年龄:Age(1)=10;