zoukankan      html  css  js  c++  java
  • PHP递归算法的简单实例

    递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如

    function test ($n){
        echo $n."  ";
        if($n>0){
            test($n-1);
        }else{
            echo "";
        }
        echo $n."  "
    }
    test(2)

    这个比如终究的输出结果是2 1 0<–>0 1 2

    我解说下 为何输出是这么的

    第一步,履行test(2),echo 2,然后由于2>0,履行test(1), 后边还有没来得及履行的echo 2 
    第二步,履行test(1),echo 1,然后由于1>0,履行test(0),相同后边还有没来得及履行的 echo 1 
    第三步,履行test(0),echo 0,履行test(0),echo 0, 此刻0>0的条件不满意,不在履行test()函数,而是echo “”,并且履行后边的 echo 0

    此刻函数现已不再调用自个,开端将流程的主控权交回给上一层函数来履行,也即是开端履行刚刚一切test()函数没来得及输出的最终一个echo,0的一层是1也即是输出1 1的上一层是2 也即是输出2 2没有山一层 所以呢 输出的内容即是2 1 0<–>0 1 2

    文章精选自【blog.4ud.cn】

    http://blog.csdn.net/qq_16241043/article/details/53160153

  • 相关阅读:
    19-1 在页面中渲染基本的组件
    19 使用Vue实例的render方法渲染组件
    17 webpack中babel的配置
    前端待复习汇总
    301,302,303,307重定向区别
    尾递归
    Binary-to-text ecoding:
    object Object {} any unknown
    Vue中的model
    全局namespace与模块内的namespace
  • 原文地址:https://www.cnblogs.com/hellowzd/p/6590537.html
Copyright © 2011-2022 走看看