PHP 选择排序 案例

xiaoxiao2021-02-28  121

<!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>
转载请注明原文地址: https://www.6miu.com/read-40088.html

最新回复(0)