当前位置:Gxlcms > PHP教程 > PHP字符串全排列

PHP字符串全排列

时间:2021-07-01 10:21:17 帮助过:7人阅读

方法一:

$str = 'abc';
$a =str_split($str);
perm($a, 0, count($a)-1);

functionperm(&$ar, $k, $m) {if($k == $m){ 
        echo join('',$ar), PHP_EOL;
    }else {
        for($i=$k; $i<=$m; $i++) {
            swap($ar[$k], $ar[$i]);
            perm($ar, $k+1, $m);
            swap($ar[$k], $ar[$i]);
        }
    }
}
functionswap(&$a, &$b) {$c = $a;
    $a = $b;
    $b = $c;
}

方法二:

functionoutput($temp,$level) {for($i=0;$i<$level;$i++) {
        echo$temp[$i];
    }
    echo PHP_EOL;
}
//产生全排列 递归参数传递一定要注意 functionquanpai($arr,$flag,$level,$num,$temp) {if($level>=$num) {
        output($temp,$num);
        return;
    }
    for($i=0;$i<$num;$i++) {
        if($flag[$i]==0) {
            $temp[$level]=$arr[$i];
            $flag[$i]=1;
            quanpai($arr,$flag,$level+1,$num,$temp);
            $flag[$i]=0;
        }
    }
}
$str = 'abc';
$arr=str_split($str);
$len=count($arr);
$i=0;
$flag=array();
$temp=array();
while($i<$len){
    $flag[$i]=0;
    $i++;
}
quanpai($arr,$flag,0,$len,$temp);

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了PHP字符串全排列,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行