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 ?>
时间: 2024-10-12 20:40:24