php成行排列,一个php实现的生成排列的算法
生活随笔
收集整理的這篇文章主要介紹了
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<=$n; $i++)
{
var_dump(perm($s, $i, $index));
}
}
getPerm('abcd');
?>
總結
以上是生活随笔為你收集整理的php成行排列,一个php实现的生成排列的算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 余额宝红包使用步骤是怎么样的?怎么领才钱
- 下一篇: hkserv.exe是什么进程 有什么作