在 PHP 中生成字符串的排列
问题:
如何生成所有使用给定字符串中所有字符的可能排列PHP?
答案:
要生成字符串的所有排列,您可以利用基于回溯的方法来系统地探索所有可能的排列
实现:
// function to generate and print all N! permutations of $str. (N = strlen($str)). function permute($str,$i,$n) { if ($i == $n) print "$str\n"; else { for ($j = $i; $j < $n; $j++) { swap($str,$i,$j); permute($str, $i+1, $n); swap($str,$i,$j); // backtrack. } } } // function to swap the char at pos $i and $j of $str. function swap(&$str,$i,$j) { $temp = $str[$i]; $str[$i] = $str[$j]; $str[$j] = $temp; } $str = "hey"; permute($str,0,strlen($str)); // call the function.
使用示例:
执行代码片段:
#php a.php
将生成并打印字符串的所有可能的排列“嘿”:
hey hye ehy eyh yeh yhe
以上是如何在 PHP 中生成字符串的所有排列?的详细内容。更多信息请关注PHP中文网其他相关文章!