选择排序
/* 选择排序法的思路:就是再第一次循环中,假设第一个数是最小的;然后跟第二个数比较,一直比到最后,找出最小值,然后把最小值跟第一个数的位置互换;再进行下一次循环,找出最小值跟第二个位置的数互换;一直循环数组的个数减去1次;数组就成了有序的了 */
//用函数封装选择排序法
function selectSort(&$arr)
//注意此处要加地址传递符号;因为数组默认传递的是值,不是地址;若不地址传递,排序的是$arr而不是$asd。
{
//$arr = array(1,5,3,9,4,8,12,3,0,7,7.6,3.4,6);
//定义一个中间变量
$temp = 0;
//升序排序
for($i=0;$i<count($arr)-1;$i++)
{
//假设$i就是最小的数
$minVal=$arr[$i];
//记录我认为最小数的下标
$minIndex=$i;
for($j=$i+1;$j<count($arr);$j++)
{ //如果我认为的最小值不是最小
if($minVal>$arr[$j])
{
$minVal = $arr[$j];
$minIndex = $j;
}
}
//最后交换
$temp = $arr[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $temp;
}
}
$asd = array(1,0,2,9,3,8,4,7,5,6);
//调用选择排序法的函数
selectSort($asd);