首页  >  问答  >  正文

帮我看看这冒泡排序到底是哪里错了

$arr=array(10,3,1,8);

function bubble(&$arr){
    $total=count($arr);
    for($i=0;$i<$total - 1;$i++){
        for($j=0;$total - 1 - $i;$j++){
            if($ arr[$j] > $arr[$j + 1]){
                $temp=$arr[$j];
                $arr[$j]=$arr[$j+1];
                $arr[$j+1]=$temp;
            }
        }
        echo '
';
    }
}
bubble($arr);
echo '<br>';
print_r($arr);
?>

HUNTHUNT2588 天前946

全部回复(2)我来回复

  • 风豆丁

    风豆丁2017-08-23 22:32:56

    第二个for循环中间条件语句应该是 $j < $total - 1 - $i

    回复
    2
  • PHP中文网

    PHP中文网2017-08-23 15:54:12

    php排序算法没研究过,你可以使用php排序函数sort、asort、rsort、krsort、ksort进行数组排序,更简单些。

    回复
    0
  • 取消回复