递归函数:指调用自己的函数。
一.递归的特点
1.函数一般使用if-else或分支语句来实现。
2.存在一个或多个条件用来停止递归。
3.每次递归调用会使问题逼近终止条件或情况,直到转化为该条件或情况为止。
(递归递归先递后归,递:层层递进只到最终条件为止,归:带着得到的结果一层层返回到原问题。)
二.递归的分类
递归分为两种,直接递归和间接递归。
1.直接递归即函数直接自己调用自己。
代码示例:
#include <iostream>
using namespace std;
int fac(int);
int main()
{
cout << "输入一个数: ";
int n;
cin >> n;
cout << n << "的阶乘 为" << fac(n);
return 0;
}
int fac(int n)
{
if (n == 0)
return 1;
else
return n * fac(n - 1);
}
2.间接递归可以是A函数调用B函数时,B函数反过来调用A函数。也可以是A函数数调用B函数,B函数调用C函数,C函数调用A函数。
三.递归辅助函数(recursive helper function)
递归辅助函数是递归程序设计中常用的一种方法。
下面是运用递归来检查字符串是否是回文的函数代码<