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;
时间: 2024-10-05 03:36:57

PHP之快速排序和冒泡排序性能对比的相关文章

使用JAVA直观感受快速排序与冒泡排序的性能差异

初学算法,肯定会编写排序算法 其中两个最为有名的就是冒泡排序和快速排序 理论上冒泡排序的时间复杂度为O(N^2),快速排序的时间复杂度为O(NlogN) 下面本门使用JAVA,分别编写三段排序程序 对十万个0-9999的整数进行一次冒泡排序 对十万个0-9999的整数进行1000次快速排序,使用递归完成 对十万个0-9999的整数进行1000次快速排序,使用堆栈完成 对十万个0-9999的整数进行一次冒泡排序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

快速排序、冒泡排序

我目前最常用的两种排序:冒泡排序和快速排序 比较一下他们的性能: 1 #include<stdio.h> 2 3 void QuickSort(int * a,int left,int right) 4 { 5 if(left>right) 6 { 7 return; 8 } 9 int stand=a[left]; 10 int i=left; 11 int j=right; 12 //得到基准数位置 13 while(i!=j) 14 { 15 while(i<j&&a

ARM演化变迁性能对比

ARM演化变迁: ARM经典:ARM7,ARM9,ARM11性能依次提升. Cortex: M系列:Cortex-M0,Cortex-M1,Cortex-M2,Cortex-M3,Cortex-M4应用于工控领域(没有操作系统)类比单片机性能比单片机强. R系列:Cortex-R4面向实时应用,可以运行操作系统. A系列:Cortex-A5,Cortex-A8,Cortex-A9主要面向多媒体应用,现代智能手机基本采用Cortex-A系列.M,R,A系列性能也是依此提升. 其性能对比:ARM7与

自己写的轻量级PHP框架trig与laravel,yii性能对比

看了下当前最热门的php开发框架,想对比一下自己写的框架与这些框架的性能对比. 看结果对比. laravel 5.1: yii2: trig: 自己写的框架速度是lavavel 5.1的8倍,是yii2的5.3倍.

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试

Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它. 做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策. 在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识. 人人都要了解. ----------------------------------------------------------------------------------

开发语言性能对比,C++、Java、Python、LUA、TCC

一直想做开发语言性能对比,刚好有时间都做了给大家参考一下, 编译类:C++和Java表现还不错 脚本类:TCC脚本动态运行C语言,性能比其他脚本快好多... 想玩TCC的同学下载测试包,TCC目录下修改script.c,运行TccTest1.exe即可看到修改效果,无需编译!!! 链接:http://pan.baidu.com/s/1kUVGGwJ 密码:mgpx C++(VS2017) java8.2 Python2.7-3.5.2 aardio(LUA) TCC

HW3000、SI4432、A7139及目前市面主流的Sub-1G芯片性能对比

HW3000.SI4432.A7139.SX1278.CC1120及目前市面主流的Sub-1G芯片性能对比

使用httpclient实现http链接池与使用HttpURLConnection发送http请求的方法与性能对比

使用httpclient实现http链接池与使用HttpURLConnection发送http请求的方法与性能对比 在项目中需要使用http调用接口,实现了两套发送http请求的方法,一个是使用apache的httpclient提供的http链接池来发送http请求,另一个是使用java原生的HttpURLConnection来发送http请求,并对两者性能进行了对比. 使用httpclient中的链接池发送http请求 使用最新的4.5.2版httpclient进行实现.在maven中引入 <

C正则库做DNS域名验证时的性能对比

C正则库做DNS域名验证时的性能对比 本文对C的正则库regex和pcre在做域名验证的场景下做评测. 验证DNS域名的正则表达式为: "^[0-9a-zA-Z_-]+(\\.[0-9a-zA-Z_-]+)*(\\.[a-zA-Z]{2,}\\.)$" 对于正常DNS请求日志中的6177578条日志做正则验证处理. 1,pcre 评测所用的pcre的版本号是:7.8.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2