/** * 全排列结果集 * @var array */ private $fullPermutationArr = [];
/** * 全排列 * User: Lindsay * Date: 2018/9/6 * Time: 9:43 * @param $arr * @param string $str */ public function fullPermutation($arr, $str = '') { $cnt = count($arr); if ($cnt == 1) { array_push($this->fullPermutationArr, $str ? $str . ',' . $arr[0] : $arr[0]); } else { for ($i = 0; $i < count($arr); $i++) { $tmp = $arr[0]; $arr[0] = $arr[$i]; $arr[$i] = $tmp; $this->fullPermutation(array_slice($arr, 1), $str ? $str . ',' . $arr[0] : $arr[0]); } } }
// 调用
$this->fullPermutation([1, 2, 3, 4]);
$result = $this->fullPermutationArr;
|
请发表评论