函数直接或间接调用自己的过程称为递归调用。把握以下两个关键点,就基本掌握了递归的思想:
1、必须定义一个终止条件;否则函数会永远递归下去,直到栈空间耗尽。所以,递归函数一般都用类似if语句来判断终止条件,如果条件成立则继续调用,否则函数结束调用,开始返回。
2、找到本级函数和下一级函数的等价条件。
递归的通用伪代码如下
- 返回类型 Func(参数){
- if(结束条件成立)
- 返回常量;//递归结束
- else
- 返回下一级函数的等价条件;
- }
例子:求5的阶乘
- #include <iostream>
- using namespace std;
- int f(int n){
- if(n == 0 || n == 1)
- return 1;
- else
- return n * f(n-1);
- }
- int main(){
- cout << f(5) << endl;
- return 0;
- }
转载于:https://blog.51cto.com/6678139/1150456