排序之选择排序-PHP

Posted 巅峰小学生

tags:

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

 1 <?php
 2     //设置请求头
 3     header("content-type:text/html;charset=utf-8");
 4 
 5     /*
 6         选择排序思想:
 7             例如:10 7 2 6 是一个数组,名字为arr
 8             要求:从小到大排序
 9 
10         第1轮
11             arr[0]到arr[arr.length-1]中选取最少值,即2,和arr[0]交换值
12             得出 2 7 10 6
13 
14         第2轮
15             arr[1]到arr[arr.length-1]中选取最少值,即6,和arr[1]交换值
16             得出 2 6 10 7
17 
18         第3轮
19             arr[2]到arr[arr.length-1]中选取最少值,即7,和arr[2]交换值
20             得出 2 6 7 10
21 
22         ....
23         第N轮
24             即最后一个数值不需要自己和自己比较
25 
26 
27         结论:
28             每完成一轮比较过后,下一轮就不会再让arr[开始]参与比较
29     
30     */
31 
32 
33     $arr = array(10,7,2,6,3,1,5,6,7,3,-2,-2,-3);
34     $arr_count = count($arr);
35 
36     var_dump($arr);
37 
38     //$arr_count - 1意思是最后一个数不用比较
39     for($i=0; $i<$arr_count - 1; $i++){
40         
41         $min = $arr[$i]; //最小值
42         $min_index = $i; //最小值的下标
43 
44         for($j=$i+1; $j<$arr_count; $j++){
45             
46             if($min > $arr[$j]){
47                 $min = $arr[$j];
48                 $min_index = $j;
49             }
50         }
51 
52         if($min_index == $i){
53             continue;
54         }
55 
56         $temp = $arr[$i];
57         $arr[$i] = $min;
58         $arr[$min_index] = $temp;
59 
60     }
61     
62     echo ‘=================================‘;
63 
64     var_dump($arr);
65 
66 
67 ?>

 

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

排序算法之选择排序类

PHP算法之选择排序

php算法之选择排序

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

排序算法之冒泡选择插入排序(Java)

排序算法之冒泡选择插入排序(Java)