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

首頁 > 語言 > PHP > 正文

淺談PHP的排列組合(如輸入a,b,c 輸出他們的全部組合)

2024-09-04 11:49:25
字體:
來源:轉載
供稿:網友
  1. /*分治法――直接選擇 
  2. 比如說a b c 
  3. 首先將a之后的字符依次與a進行交換 
  4. 1 b,a,c 
  5. 2 c,b,a 
  6. 注意這里少了一個原始數據 a,b,c。需要把原始數據也算如排列中 
  7. 3 a,b,c 
  8.   
  9. 然后把字符移到第二個位置,將第二個位置之后的數分別與第二個位置的數進行交換 
  10. 1 b,a,c ===> 11 b,c,a 
  11. 2 c,b,a ===> 21 c,a,b 
  12. 3 a,b,c ===> 31 a,c,b 
  13.   
  14. **/ 
  15. functionzuhe($arr,$begin){ 
  16.   if(!is_array($arr))return
  17.   $N=count($arr); 
  18.   if($begin==$N-1 ||$begin>$N||$begin<0)return
  19.   if($begin== 0){ 
  20.     print_r($arr);//輸出原始數據 
  21.     echo'' 
  22.   } 
  23.   //循環將初始值與第i個值交換后進行組合 
  24.   for($i=$begin;$i<$N;$i++){ 
  25.   
  26.     $t=$arr[$begin]; 
  27.     $arr[$begin] =$arr[$i]; 
  28.     $arr[$i] =$t
  29.   
  30.     if($i!==$begin){//i==begin時的數已經輸出過 
  31.       print_r($arr); 
  32.       echo'' 
  33.     } 
  34.     zuhe($arr,$begin+1);  
  35.     $t=$arr[$begin]; 
  36.     $arr[$begin] =$arr[$i]; 
  37.     $arr[$i] =$t
  38.   
  39.   } 
  40.   
  41. $arr=array('a','b','c','d'); 
  42. //zuhe($arr,0); 
  43.   
  44.   
  45. /*分治法――直接插入 
  46. 初始時從0個元素開始,輸出初始序列,為組合的一個序列 
  47. 當在來一個元素時只需將該元素放在該元素之前的元素組的不同的位置即組成了不同的排列 
  48. 如已有元素組為a,b.新元素為c,把c分別與a,b進行交換即可(a,c,b);(c,b,a),在現有的排列上在新增元素 
  49. 重復執行以上步驟 
  50. */ 
  51. functionzuhe2($arr,$begin){ 
  52.   if($begin==0) { 
  53.     print_r($arr); 
  54.     echo""
  55.     //zuhe2($arr,$begin+1); 
  56.   } 
  57.   if($begin>=count($arr))return
  58.   zuhe2($arr,$begin+1);//begin時的排列上一次已產生,直接新增元素 
  59.   for($i=$begin-1;$i>=0;$i--){ 
  60.     $t=$arr[$begin]; 
  61.     $arr[$begin] =$arr[$i]; 
  62.     $arr[$i] =$t
  63.     print_r($arr); 
  64.     echo""
  65.     zuhe2($arr,$begin+1); 
  66.     $t=$arr[$begin]; 
  67.     $arr[$begin] =$arr[$i]; 
  68.     $arr[$i] =$t//Vevb.com 
  69.   } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芜湖县| 新平| 澄迈县| 惠州市| 萨迦县| 余庆县| 浠水县| 宿州市| 大邑县| 二连浩特市| 郓城县| 黎城县| 巴彦淖尔市| 嘉峪关市| 体育| 扶风县| 黎平县| 来安县| 孟连| 宁河县| 祁东县| 集安市| 武宣县| 汝南县| 虎林市| 石渠县| 伽师县| 铁岭市| 彭泽县| 昌图县| 元江| 永善县| 华坪县| 德化县| 桓仁| 广昌县| 丽水市| 增城市| 雷州市| 临沧市| 合山市|