mjmjLCY4lms

递归函数是函数的一种应用方式所以我们应该先明确函数的定义。

函数就是一块代码,用来接收参数,执行一件事并返回。

1.函数的结构:

 

2. 函数的调用

一般为 函数名(实参表)

 实参可以是常量、变量,还可以是表达式,但如果实参中存在变量,在函数调用时,变量应是有确定值的。

这些值会被按照顺序进行初始化中的参数。

3.递归函数

递归即是该函数调用它本身自己,这种调用过程称为递归。

递归可以相当于循环,所以想结束递归,就必须有终止递归的条件测试部分,否则就会出现无限递归(即无限循环),即一定要定义递归的边界。

 

用递归解决n阶乘的例子

#include <iostream>
using namespace std;
int POW(int x,int y);
int main()
{
int a,b;
cin>>a>>b;
cout<<a<<"的"<<b<<"次方=";
cout<<POW(a,b);
return 0;
}
int POW(int x,int y)
{

int i,z=1;
for(i=0;i<y;i++)
{
z=x*z;
}
return z;
}
可以看出,每级函数调用都有自己的变量,递归调用就相当于又从头开始执行函数的代码。

每次函数调用都会返回一次,并且按顺序逐级返回递归。

4.递归函数的优缺点 

优点:

1.适合解决阶乘、涉及相反顺序的编程问题

2.相比同类题其他模式简洁

缺点:

1.运行效率低,无论是计算时间和耗费内存空间都比非递归要多

 

5.总结 

递归函数遵规守纪,按照严格给出的规定运行,所以在递归运算时一定要注意对边界和开始的定义,正确的定义递归,是递归运算的难点。

分类:

技术点:

相关文章: