首頁 > 後端開發 > php教程 > 一个php兑现的生成排列的算法

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-13 12:55:32
原創
855 人瀏覽過

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

<?php function perm($s, $n, $index)
{
     if($n == 0)
     {
         return '';
    }   
    else
    {   
        $nIndex = count($index);    //可用的字符串下标
        $res = array();
        foreach($index as $i => $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
登入後複製

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
訪問路徑http://tp6.com/index.php/index/index/admin
來自於 1970-01-01 08:00:00
0
0
0
只能訪問index,不能訪問hello
來自於 1970-01-01 08:00:00
0
0
0
控制器不存在:app\index\controller\Hello
來自於 1970-01-01 08:00:00
0
0
0
為啥url是/index/User/login
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板