您的位置:首页 > 编程语言 > PHP开发

一个快速排序的小例子

2016-01-27 17:44 417 查看
<?php 

function quickSort($array)

{   

    if( !isset( $array[1] ) ) return $array;

    $mid        = $array[0]; //获取一个用于分割的关键字,一般是首个元素

    $leftArray  = array();

    $rightArray = array();

    foreach( $array as $v )

    {

        if($v > $mid)

            $rightArray[] = $v;   //把比$mid大的数放到一个数组里

        if($v < $mid)

            $leftArray[]  = $v;   //把比$mid小的数放到另一个数组里

    }

    $leftArray   = quickSort($leftArray);        //把比较小的数组再一次进行分割

    $leftArray[] = $mid;                         //把分割的元素加到小的数组后面,不能忘了它哦

    $rightArray  = quickSort($rightArray);       //把比较大的数组再一次进行分割

    return array_merge($leftArray,$rightArray);  //组合两个结果

}

print_r( quickSort( array( '6','5','3','7','9' ) ) );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP 快速排序