>  기사  >  백엔드 개발  >  PHP 퀵소트

PHP 퀵소트

WBOY
WBOY원래의
2016-07-28 08:25:361006검색
<?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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 오류 보고다음 기사:PHP 오류 보고