嘿那裏我已經爲類做了遞歸排列函數,但是我輸出的是不太有利的。 http://codepad.org/DOaMP9oc修復排列輸出
function permute($arr) {
$out = array();
if (count($arr) > 1) {
$i = 0;
foreach($arr as $r => $c) {
$n = $arr;
unset($n[$r]);
$out[$c] = permute($n);
}
}
else
return array_shift($arr);
return $out;
}
如果輸入array(1,2,3,4,5)
,輸出是:
Array
(
[1] => Array
(
[2] => Array
(
[3] => Array
(
[4] => 5
[5] => 4
)
[4] => Array
(
[3] => 5
[5] => 3
)
[5] => Array
(
[3] => 4
[4] => 3
)
)
ETC......................
這是正確的,你可以這樣key.key.key.key閱讀.value或12345
,12354
,12435
目前,此輸出爲可讀的格式轉換,我使用這個代碼醜陋塊: http://codepad.org/qyWcRBCl
foreach($out as $k => $a)
foreach($a as $l => $b)
foreach ($b as $m => $c)
foreach ($c as $n => $d)
echo $k.$l.$m.$n.$d.'<br>';
什麼比新行上的每個數字更「可讀」? – Cyclone
foreach方法效率低下,只能設置5個字母。我想從'permute()'中以可讀格式消除foreach和輸出。 –
'如果我的老師很難讀它'。堆棧不是作業答案的地方 –