递归算法

当函数调用自身时,系统把当前的现场信息保存下来,当子递归执行完成后,恢复现场继续执行。每一次递归都当成执行一条普通语句就好理解了。

<?php 
function f($n){
    $v = 5;
    if($n>2){
        f($n-1);    //该句话就当普通语句看待就好了,执行完这句执行下一句
        print_r($v);
    }
    if($n<3){
        $v = 10;
        print_r($v);
        print_r('<hr/>');
        return;
    }
}
f(3);   //结果是:10 5
?>

 

posted @ 2012-08-15 18:32  compus135  阅读(136)  评论(0编辑  收藏  举报