// 将数组由小到大排序
$arr = [3, 4, 2, 8, 9, 1, 6];
echo json_encode($arr).'<br/><br/>';
// 1、需要选择的次数,每次只能选择一个最大或者最小值
for ($i = 0, $len = count($arr); $i < $len; $i++) {
// 2、假设第一个值就是最小值
$min = $i;
echo '第'.($i+1).'次的min值:'.$arr[$min].'<br/>';
echo '内层输出:<br/>';
// 3、将最小值和其他剩余值一一比较
for ($j = 1 + $i, $len = count($arr); $j < $len; $j++) {
// 4、找到最小值
if ($arr[$min] > $arr[$j]) {
$min = $j;
}
echo $arr[$j].'(k:'.$j.')<br/>';
}
// 输出每次找到的最小值
echo '内层排序得到的最小值 k:'.$min.'--val:'.$arr[$min].'<br/><br/>';
// 5、当前值与最小值交换位置
if ($min != $i) {
$temp = $arr[$i];
$arr[$i] = $arr[$min];
$arr[$min] = $temp;
}
// 输出每次排序插
PHP常见算法 - 选择排序 排序步骤输出展示
于 2023-04-28 12:07:23 首次发布