PHP快速排序問題

來源:互聯網
上載者:User
$arr=array(4,1,9,2,3);function quick($arr){if ( count($arr)<=1) {return $arr;}for ($i=1; $i < count($arr); $i++) { if ($arr[0]<$arr[$i]) {$right[]=$arr[$i];}else{$left[]=$arr[$i];}}$right1=quick($right);$left1=quick($left);return array_merge($left1,array($arr[0]),$right1);}var_dump(quick($arr));

各位朋友好,小弟用PHP實現一個快速排序的問題。最後得出的的結果始終是NULL,百思不得其解。請開導,謝謝!


回複討論(解決方案)

$arr=array(4,1,9,2,3);print_r(quick($arr));function quick($arr){    if ( count($arr)<=1) {         return $arr;    }    $left = array();    $righe = array();    for ($i=1; $i < count($arr); $i++) {         if ($arr[0]<$arr[$i]) {            $right[]=$arr[$i];        }else{            $left[]=$arr[$i];        }    }    $right1=quick($right);    $left1=quick($left);    return array_merge($left1,array($arr[0]),$right1);}
Array(    [0] => 1    [1] => 2    [2] => 3    [3] => 4    [4] => 9)
自己看看區別在哪裡

如果 $left 和 $right 沒有初值的話
你想想會是什麼結果

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.