全排列算法
<? //调换法全排序 class full_sort { function sort($list,$m,$n) { if($m==$n) { for($i=0;$i<=$n;$i++){ echo $list[$i]; } echo "\n"; }else{ for($i=$m;$i<=$n;$i++) { $this->swap($list[$m],$list[$i]);//交换位置 $this->sort($list,$m+1,$n);//新排序 $this->swap($list[$m],$list[$i]);//换回原位 } } } function swap(&$a,&$b) { $temp=$a; $a=$b; $b=$temp; } } $test = new full_sort(); $str = 'hat'; $data = str_split($str); $test->sort($data,0,3); ?>