全排列算法

四 1st, 2009
<?
//调换法全排序
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);
?>
标签: ,
目前还没有任何评论.
您必须在 登录 后才能发布评论.