首页 > 代码库 > 如何真正的理解递归?
如何真正的理解递归?
/* * 理解递归的真正含义:当运行到调运自身时先停止执行后边的代码 重新调用自身当所有调用自身的代码运 * 行完成后再重新按栈的形式重新由后向前一次调用自身之后的代码 * 特点:递归调用很容易导致占用大量的空间,递归的效率不高 * * 下列代码中通过输出n的值理解递归调用其实就是堆栈的运用使用递归很容易造成堆栈溢出 * */package arithmetic;public class recursion { public static void main(String[] args) { (new recursion()).digui(10); } public void digui(int n){ if (n > 0){ n--; System.out.print("递归前: "); System.out.print(n+" "); digui(n); System.out.print("递归后: "); System.out.print(n+" "); } }}
输出结果:递归前: 9 递归前: 8 递归前: 7 递归前: 6 递归前: 5 递归前: 4 递归前: 3 递归前: 2 递归前: 1 递归前: 0 递归后: 0 递归后: 1 递归后: 2 递归后: 3 递归后: 4 递归后: 5 递归后: 6 递归后: 7 递归后: 8 递归后: 9
注意:一定要有终止条件。
如何真正的理解递归?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。