首页 > 编程知识 正文

c34排列组合怎么计算(php排列组合算法)

时间:2023-05-06 20:38:45 阅读:68240 作者:3177

php数组组合的算法。

$keyword_list=['mysql ','紧张的啤酒;

//将两个要素作为一个整体数组求出

$ list=arrangement ($ keyword _ list,2 );

echo '

'; print_r($list;

//求出将两个要素作为一个整体排列的数组的个数

$ num=排列编号(count ($ keyword _ list ),2 );

echo $num . 'n ';

//将两个要素作为一个整体组合排列来求出

$ list=combination ($ keyword _ list,2 );

echo '

'; print_r($list;

//求出将两个要素作为一个整体组合起来的数组的个数

$ num=组合编号(count ($ keyword _ list ),2 );

echo $num . 'n ';

//阶乘

功能工厂($ n ) {

返回阵列产品(范围(1,$n );

}

//数组数

functionarrangementnum($n,$m ) {

返回factorial ($ n )/factorial ($ n-$ m );

}

//组合数

functioncombinationnum($n,$m ) {

returnarrangementnum($n,$m )/factorial ) $m;

}

//排列

函数阵列($ array,$m ) {

$r=array (;

$n=count($Array;

if($m=0||$m$n ) {

返回$ r;

}

for($I=0; $i $n; $i ) {

$b=$array;

$t=Array_splice($b、$i、1 );

if($m==1) {

$rjmdyg=$t;

} else {

$c=arrangement($b、$m - 1 );

Foreach($cas$v ) {

$rjmdyg=array_merge($t,$v );

}

}

}

返回$ r;

}

//组合

功能组合($ array,$m ) {

$r=array (;

$n=count($Array;

if($m=0||$m$n ) {

返回$ r;

}

for($I=0; $i $n; $i ) {

$t=Array($Array($I ) );

if($m==1) {

$rjmdyg=$t;

} else {

$b=Array_Slice($Array,$i 1);

$c=combination($b、$m - 1 );

Foreach($cas$v ) {

$rjmdyg=array_merge($t,$v );

}

}

}

返回$ r;

}

关于排列更高效的算法的方法

functionarrangementV2($array,$num ) {

$result=jmdyg;

if($num==1) {

Foreach($arrayas$key=$value ) {

$resultjmdyg=[$key=$value];

}

返回$ result;

}

kort($Array );

$Subarray=Array_Slice($Array,1,null,true );

$ subarray result=arrangement v2 ($ subarray,$num - 1 );

Foreach($arrayas$key=$value ) {

Foreach($Subarrayresultas$V1 ) {

$ext=Array_keys($v1 );

if($keyArray_shift ) $ext ) }{

$resultjmdyg=[$key=$value] $v1;

}

}

}

返回$ result;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。