<?php
//选择排序法思路: 每次选择一个相应的元素,然后将其放到指定的位置
functionselect_sort($arr) {
//实现思路 双重循环完成,外层控制轮数,当前的最小值。内层 控制的比较次数
//$i 当前最小值的位置, 需要参与比较的元素
for($i=0,$len=count($arr);$i<$len-1;$i++) {
//先假设最小的值的位置
$p=$i;
//$j 当前都需要和哪些元素比较,$i 后边的。
for($j=$i+1;$j<$len;$j++) {
//$arr[$p] 是 当前已知的最小值
if($arr[$p] >$arr[$j]) {
//比较,发现更小的,记录下最小值的位置;并且在下次比较时,
// 应该采用已知的最小值进行比较。
$p=$j;
}
}
//已经确定了当前的最小值的位置,保存到$p中。
//如果发现 最小值的位置与当前假设的位置$i不同,则位置互换即可
if($p!=$i) {
$tmp=$arr[$p];
$arr[$p] =$arr[$i];
$arr[$i] =$tmp;
}
}
//返回最终结果
return$arr;
}
$arr=array(1,43,54,62,21,66,32,78,36,76,39);
echo'<pre>';
print_r( select_sort($arr) );
?>
相关推荐
特别申明:本站的主旨在于收集互联网运营相关的干货知识,给运营小伙伴提供便利。
网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点,
也不对网站内容的真实性负责,如有侵权,请联系站长删除