PHP头条
热点:

一个php兑现的生成排列的算法


一个php实现的生成排列的算法
 $v) 
        {   
            $tmp = $index;
            unset($tmp[$i]);        //去掉当前的前缀
            /* 调试信息,便于理解
            echo "len $n , cur $i , index:\n";
            var_dump($tmp);
             */
            $ret = perm($s, $n-1, $tmp);   //递归得到稍短的排列
            if($ret != '') 
            {   
                foreach($ret as $r) 
                {   
                    $res[] = $s[$v] . $r;   //将稍短的排列逐个拼上当前的前
缀
                }   
            }   
            else
            {   
                $res[] = $s[$v];
            }   
        }   
        return $res;
    }   
}

function getPerm($s)
{
    $n = strlen($s);
    $index = range(0, $n-1);
    //得到不同长度的排列
    for($i=1; $i<=$n; $i++)
    {   
        var_dump(perm($s, $i, $index));
    }   
}

getPerm('abcd');
?>

www.phpzy.comtrue/phprm/14644.htmlTechArticle一个php兑现的生成排列的算法 一个php实现的生成排列的算法 $v) { $tmp = $index; unset($tmp[$i]); //去掉当前的前缀 /* 调试信息,便于理解 echo "len $n , cur $i , index:\n"; var_dump($tmp); */ $ret = perm($...

相关文章

相关频道:

PHP之友评论

今天推荐