什么叫递归_编程技术_编程开发技术教程

什么叫递归_编程技术_编程开发技术教程

服务器 VIP24小时自助开通

编程技术什么叫递归_编程技术_编程开发技术教程插图

递归

1、要调用自己本身;

2、要有一个趋于终止的条件。

(推荐教程:java课程

下面以一个求阶乘的例子简单介绍一下:

public class recursion {
    public static int fac(int n) {
        if(n == 1){
            return 1; //终止条件
        }
        return n * fac(n-1); //调用自身
    }
    public static void main(String[] args) {
        System.out.println(fac(5));
    }
}
// 运行结果: 120

递归过程(第一个梯度)

f9bf14f50e1909b29204f2c7b405dcc.png

第二个维度: 方法的调用,需要在栈上开辟内存

栈是先进后出的。

先调用 fac(5),逐步调用 fac(4)…… 直到终止条件。

压栈 的过程就是 递 的过程。

0a8b8c59e4b0aae2c7f10d2dd517027.png

只要遇到终止条件 return,函数结束,逐步返回 fac(n) 的值。

出栈 的 过程就是 归 的过程。

c0cf38352568f5173d01d5a8ad040f9.png

相关推荐:java入门

什么叫递归
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除

计算机之所以能实现自动连续运算是由于采用了什么原理

分享到 :
服务器 VIP24小时自助开通
相关推荐

如何通过PHP程序计算给定数n的阶乘

如何通过PHP程序计算给定数n的阶乘

看看PHP 7中怎么优化递归的!

看看PHP 7中怎么优化递归的!