排序
时间:2021-07-01 10:21:17
帮助过:39人阅读
<无详细内容>
- // 选择排序 不稳定排序
- 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;
- }
|