php四種基礎演算法:冒泡,選擇,插入和快速排序法 程式碼練習
阿新 • • 發佈:2018-11-12
function maopao($arr,$len) { for($i=1;$i<$len;$i++) { for($j=0;$j<$len-$i;$j++) { if($arr[$j]>$arr[$j+1]) { $item = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $item; } } } return $arr; } function xuanze($arr,$len) { for($i=0;$i<$len;$i++){ $p = $i; for($j=$i+1;$j<$len;$j++){ if($arr[$p]<$arr[$j]) { $p = $j; } } if($p != $i){ $item = $arr[$i]; $arr[$i] = $arr[$p]; $arr[$p] = $item; } } return $arr; } function charu($arr,$len) { for($i=1;$i<$len;$i++) { $tem = $arr[$i]; for($j=$i-1;$j>=0;$j--) { if($tem<$arr[$j]) { $arr[$j+1] = $arr[$j]; $arr[$j] = $tem; } } } return $arr; } function kuaisu($arr) { $len = count($arr); if($len <= 1) { return $arr; } $base = $arr[0]; $left = array(); $right = array(); for($i=1;$i<$len;$i++) { if($base >= $arr[$i]){ $right[] = $arr[$i]; }else{ $left[] = $arr[$i]; } } $left = kuaisu($left); $right = kuaisu($right); return array_merge($left,array($base),$right); }