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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法篇--之简单选择排序相关的知识,希望对你有一定的参考价值。

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

 1 <?php
 2     $arr = array(9,5,4,8,7,6,0,3,2,1);
 3     
 4     /**
 5      * 返回经过简单选择排序算法排序后的数组
 6      * @param $array array 要进行排序的数组
 7      * return array 进过排序后的数组
 8      */
 9     function SelectSort($array){
10         
11         for($i=0;$i<count($array);$i++){
12             
13             $min = $i; //设置当前下标为最小值下标
14             for($j=$i;$j<count($array);$j++){ //经过n-i次关键字比较
15             
16                 if($array[$min] > $array[$j]){
17                     $min = $j; //如果后续的值比当前值小,则把后续值的键赋给$min;
18                 }
19             }
20             
21             if($min != $i){ //判断$min的值是否更改,若更改,则交换
22             
23                 $temp = $array[$min];
24                 $array[$min] = $array[$i];
25                 $array[$i] = $temp;
26             }
27         }
28         return $array;
29     }
30 
31     $result = SelectSort($arr);
32     echo ‘<pre>‘;
33     print_r($result);
34 ?>

 

技术分享

以上是关于排序算法篇--之简单选择排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之快速选择排序

七大排序之:直接选择排序和堆排序

Go 数据结构和算法篇:选择排序

Go 数据结构和算法篇:选择排序

排序算法之交换排序(冒泡排序快速排序)

排序算法之简单选择排序