递归对于新手来说是一种很难的算法,所以我们要深刻的了解它。
首先递归算法是在函数内进行的,没有函数就没有递归。首先递归需要一个递归语句,
他可能是这样的:
函数名(参数1,参数2,……,参数n);
其中的参数可以是0个,也可以是多个。这要视递归的函数有几个参数而定。
下面是一个递归代码,让我带着大家详细了解一下递归。
int feb(int c) {
sum*=c;
if(c==1) {
return sum;
}
feb(c-1);
}
首先看第一行,是定义一个函数,没有任何问题,第二行就用了一个*=,也没有任何问题。
第三行的判断是干什么的呢?我们要先弄清楚倒数第二行才行。
倒数第二行就是递归语句,他是在函数里调用了这个函数,也就是递归。所以运行完这个函数,乘完后就会把函数的参数c变成c-1,然后调用这个函数,就像这样:
明白了吗? 那么第三行也就是一个跳出语句,没有任何问题。
递归就是这样了,你们明白了吗?