6.5.11 使用PHP程序進一步理解快速排序法

6.5.11 使用PHP程序進一步理解快速排序法

<?php
    $arr = array(20, 18, 33, 17, 44, 15, 22, 13, 25, 34, 11, 18, 66);
    function qsort($arr) {
        if(!is_array($arr) || empty($arr))
            return array();
        //獲取數組的長度
        $len = count($arr);
        //如果數組中只有一個元素, 直接返回這個數組
        if($len <= 1)
            return $arr;
        $key[0] = $arr[0];
        $left = array();
        $right = array();
        for($i = 1; $i<$len; $i++) {
            if($arr[$i] <= $key[0]) {
                $left[]=$arr[$i];
            }else{
                $right[] = $arr[$i];
            }
        }
        $left=qsort($left);
        $right=qsort($right);
    return array_merge($left, $key, $right);
    }
    print_r($arr);
    echo '<br>';
    print_r(qsort($arr)); 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • PHP 學習目錄 ├─PHP視頻教程 1 LAMP網站構建 │ ├─PHP教程 1.1.1 新版視頻形式介紹│ ...
    曹淵說創業閱讀 16,175評論 29 417
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,914評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評論 25 708
  • 嗯,放假已經第二天了,依舊沒有目標的無所事事中,想要改變這種模式,可是懶惰支配著我的身體,計劃的減肥也一拖再拖,理...
    國民小仙女阿閱讀 216評論 0 0