首页 >后端开发 >php教程 >如何在 PHP 中生成字符串的所有排列?

如何在 PHP 中生成字符串的所有排列?

Patricia Arquette
Patricia Arquette原创
2024-12-01 04:30:13432浏览

How to Generate All Permutations of a String in PHP?

在 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(&amp;$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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn