这是一个数组.
$item = array('A', 'B', 'C', 'D');
我想在这个数组中列出所有可能的订单,如:
一个
A,B
A,B,C
A B C D
A,C
A,C,d
A,C,B
…
B,A
B,A,C
….
我怎样才能做到这一点?
最佳答案 您想知道的
permutations可以通过
this algorithm完成并在子循环中应用.
Initialize the first permutation with <1 <2 …
while there exists a mobile integer
find the largest mobile integer k
swap k and the adjacent integer it is looking at
reverse the direction of all integers larger than k
有关详细信息,请参阅this question