您现在的位置是:首页
>
常见排序算法的时间复杂度 PHP实现常见排序
PHP实现常见排序 //插入排序(一维数组) fu ctio i ert_ ort $arr { $cou t = cou t $arr for $i= $i lt $cou t $i++ { $tm

PHP实现常见排序
//插入排序(一维数组) function insert_sort($arr){ $count = count($arr); for($i= ; $i<$count; $i++){ $tmp = $arr[$i]; $j = $i ; while($arr[$j] > $tmp){ $arr[$j+ ] = $arr[$j]; $arr[$j] = $tmp; $j ; } } return $arr; } //选择排序(一维数组) function select_sort($arr){ $count = count($arr); for($i= ; $i<$count; $i++){ $k = $i; for($j=$i+ ; $j<$count; $j++){ if ($arr[$k] > $arr[$j]) $k = $j; if ($k != $i){ $tmp = $arr[$i]; $arr[$i] = $arr[$k]; $arr[$k] = $tmp; } } } return $arr; } //冒泡排序(一维数组) function bubble_sort($array){ $count = count($array); if ($count <= ) return false; for($i= ; $i<$count; $i++){ for($j=$count ; $j>$i; $j ){ if ($array[$j] < $array[$j ]){ $tmp = $array[$j]; $array[$j] = $array[$j ]; $array[$j ] = $tmp; } } } return $array; } //快速排序(一维数组) function quick_sort($array){ if (count($array) <= ) return $array; $key = $array[ ]; $left_arr = array(); $right_arr = array(); for ($i= ; $i<count($array); $i++){ if ($array[$i] <= $key) $left_arr[] = $array[$i]; else $right_arr[] = $array[$i]; } $left_arr = quick_sort($left_arr); $right_arr = quick_sort($right_arr); return array_merge($left_arr array($key) $right_arr); } lishixinzhi/Article/program/PHP/201311/21194 很赞哦! (1043)