国产探花免费观看_亚洲丰满少妇自慰呻吟_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.   } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海南省| 祥云县| 佛冈县| 竹溪县| 扎囊县| 二连浩特市| 沾益县| 昭觉县| 杭锦后旗| 遵义市| 大新县| 米林县| 河北区| 封丘县| 南昌县| 师宗县| 赣州市| 临邑县| 温宿县| 大埔县| 韶关市| 奈曼旗| 寿光市| 安西县| 阳山县| 亚东县| 鹤庆县| 廊坊市| 铁岭市| 佛冈县| 梁山县| 阿图什市| 竹溪县| 太湖县| 宝清县| 弥勒县| 濉溪县| 永川市| 三江| 英吉沙县| 论坛|