PHP的排列组合(如输入A,B,C输出所有的组合)

PHP的排列组合(如输入A,B,C输出所有的组合)
以下示例如下:
< PHP
直接选择法
例如,b
首先,A之后的字符依次交换。
1乙,甲,丙
2 C,B,A
注意,有一个原始数据A、B、C。原始数据需要包含在排列中。
3 A,B,C

然后将字符移动到第二位置,并且第二位置的数目与第二位置的数目进行交换。
1 B,A,C = = = > 11 B,C,A
2个C,B,一个= 21个C,一个,B
3 A,B,C = 31,A,C,B

**
功能组合(ARR美元,美元开始){
如果(!is_array($ ARR))返回;
$ N =计数($ ARR);
如果($开始= = 1美元美元开始> $n$开始< 0 | | | |)返回;
如果($ = 0){
print_r($ ARR); / /输出数据
回声';
}
交换循环的初始值与i值相结合
用于($ i = $开始;$ i $ n;$ + +){

T =美元美元美元ARR {开始};
{开始} = ARR美元美元美元美元ARR {我};
ARR {我} =美元美元美元T;

如果(i)的个数!=开始时)已开始输出
print_r($ ARR);
回声';
}
Zuhe(ARR美元,美元开始+ 1);
T =美元美元美元ARR {开始};
{开始} = ARR美元美元美元美元ARR {我};
ARR {我} =美元美元美元T;

}
}

$ ARR =阵列(A,B,C,D);
/ /组合(美元啊,0);
直接插入法
从开始的0个元素开始,初始序列被输出,一系列的组合。
当元素放置在元素中时,元素被放置在元素组的不同位置,形成不同的排列。
如果现有的元素组是A,则新的B元素是C,c在新元素的现有排列中分别用a、b、a(c、b、a)交换。
重复以上步骤
* /
功能zuhe2(ARR美元,美元开始){
如果($ = 0){
print_r($ ARR);

/ / zuhe2(ARR美元,美元开始+ 1);
}
如果($开始=计数($ ARR))返回;
zuhe2(ARR美元,美元开始+ 1);在 / /时间排列开始已经产生,并直接添加元素
对(我=美元美元美元begin-1;我> = 0;$我--){
T =美元美元美元ARR {开始};
{开始} = ARR美元美元美元美元ARR {我};
ARR {我} =美元美元美元T;
print_r($ ARR);

zuhe2(ARR美元,美元开始+ 1);
T =美元美元美元ARR {开始};
{开始} = ARR美元美元美元美元ARR {我};
ARR {我} =美元美元美元T;
}
}
以上是关于PHP的排列组合(如输入,B、C输出所有的组合),这是所有萧边分享你的内容。我希望能给你一个参考,希望你能支持它。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部