php的快速排序

Posted 读家记忆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php的快速排序相关的知识,希望对你有一定的参考价值。

<?php
    function quicksort($str){
        if(count($str)<=1) return $str;//如果个数不大于一,直接返回
        $key=$str[0];//取一个值,稍后用来比较;
        $left_arr=array();
        $right_arr=array();
        for($i=1;$i<count($str);$i++){//比$key大的放在右边,小的放在左边;
            if($str[$i]<=$key)
            $left_arr[]=$str[$i];
            else
            $right_arr[]=$str[$i];
        }
        $left_arr=quicksort($left_arr);//进行递归;
        $right_arr=quicksort($right_arr);
        return array_merge($left_arr,array($key),$right_arr);//将左中右的值合并成一个数组;
    }//以下是测试
    $str=array(5,3,8,2,5,9,7,2,1,4,0);
    print_r(quicksort($str));
?>

以上是关于php的快速排序的主要内容,如果未能解决你的问题,请参考以下文章

快速排序-递归实现

快速排序的php实现

PHP 快速排序

PHP实现快速排序

PHP 四种基本排序算法的代码实现

算法PHP实现冒泡排序和快速排序--防遗忘