php数组全排列,元素所有组合
生活随笔
收集整理的這篇文章主要介紹了
php数组全排列,元素所有组合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?php
$source = array('pll','我','愛','你','嘿');
sort($source); //保證初始數組是有序的
$last = count($source) - 1; //$source尾部元素下標
$x = $last;
$count = 1; //組合個數統計
echo implode(',', $source), "<br>"; //輸出第一種組合
while (true) {$y = $x--; //相鄰的兩個元素if ($source[$x] < $source[$y]) { //如果前一個元素的值小于后一個元素的值$z = $last;while ($source[$x] > $source[$z]) { //從尾部開始,找到第一個大于 $x 元素的值$z--;}/* 交換 $x 和 $z 元素的值 */list($source[$x], $source[$z]) = array($source[$z], $source[$x]);/* 將 $y 之后的元素全部逆向排列 */for ($i = $last; $i > $y; $i--, $y++) {list($source[$i], $source[$y]) = array($source[$y], $source[$i]);}echo implode(',', $source), "<br>"; //輸出組合$x = $last;$count++;}if ($x == 0) { //全部組合完畢break;}
}
echo 'Total: ', $count, "\n";
?>
?
轉載于:https://www.cnblogs.com/zonglonglong/p/4582452.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的php数组全排列,元素所有组合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nodejs与mysql连接池的应用(p
- 下一篇: github是什么?