PHP 选择排序 案例

来源:互联网 发布:淘宝办学历证真的假的 编辑:程序博客网 时间:2024/05/17 23:54
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>选择排序</title></head><body><!-- 假设第一个元素为最大值max,其下标为max_index, 通过循环找出每一行的最大值,和当前行的最后一个未排序的数组元素进行位置交接,重复如上步骤。排序的结果为从小到大. -->    <?php             $arr=array(10,30,20,50,40);            $n=count($arr);            //外层循环             for ($i=0; $i < $n-1; $i++) {                 $max=$arr[0];                $max_index=0;            //内层循环查找没有排序的最大值和 其下标                for ($j=0; $j < $n-$i; $j++) {                     if ($arr[$j]>$max) {                        $max=$arr[$j];                        $max_index=$j;                    }                }                                    //没有排序的最后一个索引为                $last_index=$n-$i-1;                //将最大值和 没有排序的值交换位置                $tmp=$arr[$max_index];                $arr[$max_index]=$arr[$last_index];                $arr[$last_index]=$tmp;            }                echo "<pre>";                print_r($arr);                echo "</pre>";                echo "<hr/>";                 ?>    <!-- 总结:选择排序 两层循环 内层循环找最大值 外层循环 将找到的最大值$arr[$max_index]和未排序的最后一个$arr[$last_index] 进行位置交换,未排序的最后一个 $last_index=$n(数组长度)-$i(第几次循环)-1; --></body></html>
原创粉丝点击