选择排序,原理:
在每一次大循环的时候得出一个最大值或者最小值来替换相应的位置,看代码:
<?php
$arr = [3,2,4,7,5];
for($i=0;$i<count($arr);$i++){
//第一次循环假设第一个元素的值最大,接下来的每一轮假设当前下标的元素值最大
$max = $arr[$i];
for($k=$i+1;$k<count($arr);$k++){
//将假设最大元素值跟下一个元素值进行对比
if($max<$arr[$k]){
//先记录当前最大值
$max = $arr[$k];
//将比较大的值替换成小的
$arr[$k] = $arr[$i];
//将比较小的值替换成记录的大值
$arr[$i] = $max;
}
}
}
?>