September 2009
Intermediate to advanced
912 pages
48h 11m
German
Sie haben ein Array mit Elementen und möchten alle Möglichkeiten berechnen, wie diese unterschiedlich angeordnet werden können.
Verwenden Sie einen der beiden Permutationsalgorithmen, die im Folgenden behandelt werden.
Die in Listing 4.6 dargestellte Funktion pc_permute() ist die PHP-Modifikation einer grundlegenden rekursiven Funktion.
function pc_permute($items, $perms = array()) {
if (empty($items)) {
print join(' ', $perms) . "\n";
} else {
for ($i = count($items) - 1; $i >= 0; --$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
pc_permute($newitems, $newperms);
}
}
}Listing 4.6 pc_permute()
Ein Beispiel: ...