排序算法篇--之简单选择排序

简单选择排序,就是执行n-i次比较,然后从n-i+1个数据中选择最小的值,如果最小值不是第i(1=<i<=n)个,则和第i个交换。

<?php
     $arr = array(9,5,4,8,7,6,0,3,2,1);
     
     /**
      * 返回经过简单选择排序算法排序后的数组
      * @param $array array 要进行排序的数组
      * return array 进过排序后的数组
      */
     function SelectSort($array){
         
         for($i=0;$i<count($array);$i++){
             
             $min = $i; //设置当前下标为最小值下标
             for($j=$i;$j<count($array);$j++){ //经过n-i次关键字比较
             
                 if($array[$min] > $array[$j]){
                     $min = $j; //如果后续的值比当前值小,则把后续值的键赋给$min;
                 }
             }
             
             if($min != $i){ //判断$min的值是否更改,若更改,则交换
             
                 $temp = $array[$min];
                 $array[$min] = $array[$i];
                 $array[$i] = $temp;
             }
         }
         return $array;
     }
 
     $result = SelectSort($arr);
     echo '<pre>';
     print_r($result);
 ?>

排序算法篇--之简单选择排序

相关推荐