开发者社区> 问答> 正文

递归函数怎么理解呢?

例子

<?php

    function test( $n ) {                       
        echo $n."&nbsp;&nbsp;";                 

        if($n>0)                            
            test($n-1);                         
        else                                    
            echo " <--> ";                  

        echo $n."&nbsp;&nbsp;";                 
    }

    test(10);                                   
?>

输出:

10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10

这后半部分的1 2 3 4 5 6 7 8 9 10 是怎么输出出来的?
不理解

展开
收起
小旋风柴进 2016-03-09 12:51:10 1882 0
1 条回答
写回答
取消 提交回答
  • 很好理解,递归就是自己调用自己。
    如果先调用,再输出,那么就相当于堆栈,因为先调用内侧,再输出自身,而内侧又先调用内侧的内侧……结果就是最内侧先执行,再外面一层,再再外面一层……
    如果先输出,再调用,就相当于队列。这种情况也叫做尾递归。

    2019-07-17 18:55:48
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载