PHP 快速排序法

WBOY
發布: 2016-07-28 08:25:36
原創
1005 人瀏覽過
<?php
function quickSort($left,$right,$sort_arr = null){
    static $arr;
    if(!empty($sort_arr)){
        $arr = $sort_arr;
    }

    if($left >= $right){
        return;
    }

    $mark_num = $arr[$left];
    $mark_k = $left;
    $i = $left+1;
    $j = $right;

    while($i != $j){
        //左移判断
        while($arr[$j] > $mark_num && $j > $i){
            $j--;
        }

        //右移判断
        while($arr[$i] <= $mark_num && $i < $j){
            $i++;
        }

        $tmp = $arr[$i];
        $arr[$i] = $arr[$j];
        $arr[$j] = $tmp;   
    }

    if($arr[$i] < $mark_num){
        $arr[$mark_k] = $arr[$i];
        $arr[$i] = $mark_num;
    }

    quickSort($left,$i-1);
    quickSort($i+1,$right);
    return $arr;
}
登入後複製

以上就介紹了 PHP 快速排序法,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板