3
回答
把递归算法变成不用递归的方式?
滴滴云服务器,限时包月0.9元,为开发者而生>>>   
function amkdir($dir)
{
    if(!is_dir(dirname($dir)))
    {
        amkdir(dirname($dir));
    }
    mkdir($dir);
}

不用递归怎么实现?

是不是每个递归方式 都可以不用递归代替?

PHP
举报
小囧
发帖于6年前 3回/666阅
共有3个答案 最后回答: 6年前
function amkdir($dir)
{
    $array = array();
    while(!is_dir($dir))
    {
        array_push($array,$dir);
        $dir = dirname($dir);
       
    }
   
    while($array)
    {
        $dir = array_pop($array);
        mkdir($dir);
    }
}

amkdir('./1/2/3/');


 

任何能用递归解决的问题也能用迭代方法解决。递归方法优于迭代方法之处在于能更自然地反映问题,使程序更容易理解和调试。

在要求性能的情况下不要用递归方法。递归调用既花时间又占用更多的内存。

--- 共有 1 条评论 ---
小囧谢谢~ 受教匪浅哈~ 以前一直都用递归 但是有时候又会改进下 把递归换为循环解决,今天就突然冒出了个想法,结果实验证明是可行的。。。半路出家的,哎~ 没文化,真可怕~ 6年前 回复
顶部