標籤:快速 [] 冒泡排序 fun span else quick 二維數組 i++
//冒泡排序
$arr = array(5, 9, 7, 6, 1, 8, 13, 4);$m = count($arr);//sizeof($arr,1)sizeof,第二個參數設定為1,將同時讀取二維數組長度for ($i = 1; $i <= $m; $i++) { $m -= 1; for ($j = 0; $j < $m; $j++) { if ($arr[$j] > $arr[$j + 1]) { $temp = $arr[$j]; $arr[$j] = $arr[$j + 1]; $arr[$j + 1] = $temp; } }}echo "<pre>";var_dump($arr);die;
//快速排序
$arr = array(6, 1, 2, 7, 9, 3, 4, 5, 10, 8);function quick_sort($arr) { $count = count($arr); //校正 if (!is_array($arr)) return FALSE; if ($count <= 1) return $arr; //開始 $left = $right = array(); for ($i = 1; $i < $count; $i++) { //判斷當前元素的大小 if ($arr[$i] < $arr[0]) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } $left = quick_sort($left); $right = quick_sort($right); //將所有的結果合并 return array_merge($left, array($arr[0]), $right); }echo "<pre>";print_r(quick_sort($arr));die;
//選擇排序
$arr = array(5, 9, 7, 6, 1, 8, 13, 4);$count = count($arr);for ($i = 0; $i < $count - 1; $i++) { for ($j = $i; $j < $count; $j++) { if ($arr[$i] > $arr[$j]) { $_temp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $_temp; } }}echo "<pre>";var_dump($arr);die;
php排序方法