// 选择排序 不稳定排序 function selection_sort($array) { $max = count($array) - 1; for($i = 0; $i < $max; $i++) { $min = $i; for($j = $i + 1; $j <= $max; $j++) { if($array[$j] < $array[$min]) { $min = $j; } } if($min != $i) { $temp = $array[$min]; $array[$min] = $array[$i]; $array[$i] = $temp; } } return $array; } // foreach while 插入排序 function insertsort($arr) { foreach($arr as $k => $v) { $i = $k - 1; while($i > -1 && $v < $arr[$i]) { $next = $arr[$i + 1]; $arr[$i + 1] = $arr[$i]; $arr[$i] = $next; $i--; } } return $arr; } // for while 插入排序 function insertsort1($arr) { $max_key = count($arr) - 1; for($i = 1; $i <= $max_key; $i++) { $j = $i - 1; $current = $arr[$i]; while($j >= 0 && $arr[$j] > $current) { $temp = $arr[$j+1]; $arr[$j+1] = $arr[$j]; $arr[$j] = $temp; $j--; } } return $arr; } //该片段来自于http://yuncode.net