C++学习笔记系列2-11
递归函数
递归函数在一些循环逻辑会频繁使用,它的特点有点像:while循环,但它的主旨就是“函数自己调用自己”,通过它的特点,我们可以了解,递归也是需要有条件限制,否则就会进入“死循环”。这边是我对递归的比较简单化的理解。
下面我写一个递归函数的代码,用代码逻辑展示一下递归。
#include <iostream>
using namespace std;
void Func (int a)
{
cout<< a << " ";
a++;
if ( a > 10 ){
return;
}
Func ( a ) ; // 自己调用自己
}
int main ()
{
int a = 0;
Func ( a );
}
输出:0 1 2 3 4 5 6 7 8 9 10
上面这个案例就是最简单的递归函数,我们看到函数体里面对传入的变量 a 进行输出,然后进行“自增”运算,再然后进入 if 语句判断,当不满足 a > 10 时,下面就继续调用函数自身,即:Func(a),同时再次传入 a ,a 的值不断变化,但只要不满足 if 条件就调用自身,这就形成了递归逻辑。但是一旦它满足 if 语句的条件,就执行 if 里面的逻辑,通常是通过return跳出函数避免“死循环”。它和while很像,但是它是一个函数,而while是一个语法。
递归函数在学习树形结构时会起到非常重要的作用,所以要掌握它的逻辑。在日常代码语句中,在能使用它的地方可以多思考,多应用,掌握它的运行规律,为之后数据结构学习提前铺垫基础。
