什么叫递归
导读
递归:
1、要调用自己本身;
2、要有一个趋于终止的条件。
下面以一个求阶乘的例子简单介绍一下:
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
递归过程(第一个梯度)
第二个维度: 方法的调用,需要在栈上开辟内存
栈是先进后出的。
先调用 fac(5),逐步调用 fac(4)…… 直到终止条件。
压栈 的过程就是 递 的过程。
只要遇到终止条件 return,函数结束,逐步返回 fac(n) 的值。
出栈 的 过程就是 归 的过程。
评论(0)