亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ 递归

C++ 递归

在本教程中,我们将通过示例了解 C++ 中的递归函数及其工作原理。

调用自身的函数称为递归函数。而且,这种技术被称为递归。


C++中递归的工作原理

void recurse()
{
    ... .. ...
    recurse();
    ... .. ...
}

int main()
{
    ... .. ...
    recurse();
    ... .. ...
}

下图展示了递归是如何通过一遍又一遍地调用自身来工作的。

<图>

递归一直持续到满足某个条件为止。

为了防止无限递归,可以在一个分支进行递归调用而另一个不进行递归调用的情况下使用 if...else 语句(或类似方法)。


示例 1:使用递归的数字的阶乘

// Factorial of n = 1*2*3*...*n

#include <iostream>
using namespace std;

int factorial(int);

int main() {
    int n, result;

    cout << "Enter a non-negative number: ";
    cin >> n;

    result = factorial(n);
    cout << "Factorial of " << n << " = " << result;
    return 0;
}

int factorial(int n) {
    if (n > 1) {
        return n * factorial(n - 1);
    } else {
        return 1;
    }
}

输出

Enter a non-negative number: 4
Factorial of 4 = 24

析因程序的工作

<图>

正如我们所见,factorial() 函数正在调用自己。但是,在每次调用期间,我们都减少了 n 的值 由 1 .当 n 小于 1 , factorial() 函数最终返回输出。


递归的优缺点

以下是在 C++ 中使用递归的优缺点。


C++ 递归的优点


C++ 递归的缺点


C语言

  1. C++ 数据类型
  2. C++ 运算符
  3. C++ 注释
  4. C++ 类模板
  5. C - 递归
  6. C++ 概述
  7. C++ 常量/文字
  8. C++ 中的运算符
  9. C++ 中的数字
  10. C++ 参考资料
  11. C++ 模板
  12. C++ 预处理器