以下是一个使用PHP编写的排列组合的例子:\n\nphp\n<?php\n\nfunction permute($str, $i, $n) {\n if ($i == $n) {\n echo $str . "\n";\n } else {\n for ($j = $i; $j < $n; $j++) {\n $str = swap($str, $i, $j);\n permute($str, $i + 1, $n);\n $str = swap($str, $i, $j); // backtrack\n }\n }\n}\n\nfunction swap($str, $i, $j) {\n $temp = $str[$i];\n $str[$i] = $str[$j];\n $str[$j] = $temp;\n return $str;\n}\n\n$str = "abc";\n$n = strlen($str);\npermute($str, 0, $n);\n\n\n这个例子使用递归方法生成给定字符串的所有排列组合。在主函数permute中,我们首先检查是否已经达到了字符串的末尾(即$i == $n),如果是,则输出当前排列。否则,我们使用循环将当前字符与后面的字符交换,然后递归调用permute函数,再次进行交换(回溯),直到达到字符串的末尾。\n\n在这个例子中,我们给定了字符串"abc",并计算了字符串的长度$n。然后我们调用permute函数,初始时将$i和$j都设置为0。


原文地址: https://www.cveoy.top/t/topic/pEcQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录