码迷,mamicode.com
首页 > 编程语言 > 详细

排序之选择排序-PHP

时间:2017-09-22 10:17:08      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:charset   har   自己   min   var   一个   bsp   char   nbsp   

 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

标签:charset   har   自己   min   var   一个   bsp   char   nbsp   

原文地址:http://www.cnblogs.com/tandi19960505/p/7572421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!