选择排序 Selection sort

  它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。

<?php

function SelectSort($arr)
 {
     $count=count($arr);
  for ($i=0; $i <$count ; $i++) { 
      //默认$i是最小的
     $min=$i;
    for ($j=$i; $j <$count; $j++) { 
        if ($arr[$min] > $arr[$j]) {
            //如果最小值大于下一个数,就立刻变值
            $min=$j;
        }
    }
    //把最小的下标换成第一个值
    if ($min!=$i) {
        list($arr[$min],$arr[$i])=[$arr[$i],$arr[$min]];
    }
  }
  return $arr;
 }
 //假设需要排序的数组
$arr=array(5,9,8,2,4,6,7,1,25,13,18,22);
$new_arr=SelectSort($arr);
print_r($new_arr);
 ?>

 

posted @ 2018-12-19 01:02  飞翔的贺兰猪  阅读(123)  评论(0编辑  收藏  举报