PHP之快速排序和冒泡排序性能对比

Posted 王召波

tags:

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

//冒泡排序
function bubble_sort($arr){
    $count = count($arr);
    for($i=0;$i<$count;$i++){
        for($j=$count-1;$j>$i;$j--){
            if($arr[$j]<$arr[$j-1]){
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j-1];
                $arr[$j-1] = $tmp;
            }
        }
    }
    return $arr;
}
//快速排序
function quick_sort($arr){
    $count = count($arr);
    if($count<=1)return $arr;
    $key = $arr[0];
    $l = array();
    $r = array();
    for($i=1;$i<$count;$i++){
        if($arr[$i]<=$key){
            $l[] = $arr[$i];
        }else{
            $r[] = $arr[$i];
        }
    }
    $l = quick_sort($l);
    $r = quick_sort($r);
    return array_merge($l,array($key),$r);
}
//随机产生1600长度数组;
$a = array_rand(range(1,1600),1600);
//打乱数组
shuffle($a);

$t1 = microtime(true);
$a1 = bubble_sort($a);
$t2 = microtime(true);
echo $t2-$t1;

echo "<hr color=‘red‘>";

$t3 = microtime(true);
$a2 = quick_sort($a);
$t4 = microtime(true);
echo $t4-$t3;

 

以上是关于PHP之快速排序和冒泡排序性能对比的主要内容,如果未能解决你的问题,请参考以下文章

算法交换排序——快速排序+冒泡排序

PHP面试题通俗易懂的两个面试必问的排序算法讲解:冒泡排序和快速排序

排序算法之快速排序

冒泡选择插入快速,四种最基础排序算法实现

Java实现快速排序

交换排序(冒泡排序快速排序的算法思想及代码实现)