国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php求數組全排列,元素所有組合的方法

2024-09-04 11:46:43
字體:
來源:轉載
供稿:網友

本文實例講述了php求數組全排列,元素所有組合的方法。分享給大家供大家參考,具體如下:

  1. <?php 
  2.  
  3. $source = array('pll','我','愛','你','嘿'); 
  4.  
  5. sort($source); //保證初始數組是有序的 
  6.  
  7. $last = count($source) - 1; //$source尾部元素下標 
  8.  
  9. $x = $last
  10.  
  11. $count = 1; //組合個數統計 
  12.  
  13. echo implode(','$source), "<br>"//輸出第一種組合 
  14.  
  15. while (true) { 
  16.  
  17.   $y = $x--; //相鄰的兩個元素 
  18.  
  19.   if ($source[$x] < $source[$y]) { //如果前一個元素的值小于后一個元素的值 
  20.  
  21.     $z = $last
  22.  
  23.     while ($source[$x] > $source[$z]) { //從尾部開始,找到第一個大于 $x 元素的值 
  24.  
  25.       $z--; 
  26.  
  27.     } 
  28.  
  29.     /* 交換 $x 和 $z 元素的值 */ 
  30.  
  31.     list($source[$x], $source[$z]) = array($source[$z], $source[$x]); 
  32.  
  33.     /* 將 $y 之后的元素全部逆向排列 */ 
  34.  
  35.     for ($i = $last$i > $y$i--, $y++) { 
  36.  
  37.       list($source[$i], $source[$y]) = array($source[$y], $source[$i]); 
  38.  
  39.     } 
  40.  
  41.     echo implode(','$source), "<br>"//輸出組合 
  42.  
  43.     $x = $last
  44.  
  45.     $count++; 
  46.  
  47.   } 
  48.  
  49.   if ($x == 0) { //全部組合完畢 
  50. //Vevb.com 
  51.     break
  52.  
  53.   } 
  54.  
  55.  
  56. echo 'Total: '$count"/n"
  57.  
  58. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黎城县| 罗甸县| 永州市| 穆棱市| 勐海县| 扎鲁特旗| 含山县| 响水县| 垣曲县| 元朗区| 许昌县| 汉源县| 罗平县| 浦江县| 含山县| 宝坻区| 望都县| 开鲁县| 油尖旺区| 龙泉市| 花莲市| 贺州市| 谷城县| 卢龙县| 长丰县| 东莞市| 津南区| 博野县| 广德县| 华安县| 咸宁市| 德庆县| 泽库县| 肥乡县| 武乡县| 恭城| 盐山县| 巴东县| 乌苏市| 海阳市| 乐业县|