原理:它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。

原理图:


实例题目:让数组$arr=array(11,3,2,5,8,7,22,33,14)从大到小排列,请使用选择排序


<?php 
// 选择排序
$arr=array(11,3,2,5,8,7,22,33,14);
//从大到小
$len = count($arr);
for ($i=0; $i < $len ; $i++) { 
   $max = $arr[$i];
   $wz = $i;
   for ($j=$i+1; $j < $len; $j++) { 
   	  if($max <= $arr[$j]){
   	  	 $max = $arr[$j];	
   	  	 $wz = $j;	
   	  }
   }
   // 换位置
   if($wz != $i){
   	  $temp = $arr[$i];
   	  $arr[$i] = $max;
   	  $arr[$wz] = $temp;
   }
}

echo "<pre>";
var_dump($arr);
echo "</pre>";



?>


运行结果

array(9) { [0]=> int(33) [1]=> int(22) [2]=> int(14) [3]=> int(11) [4]=> int(8) [5]=> int(7) [6]=> int(5) [7]=> int(3) [8]=> int(2) }
相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!