Title

PHP比较sort()与冒泡排序

  • 作者:Mr_Yan
  • php
  • 时间:2019-03-22 18:51:39
  • 1106人已阅读
php

虽然说一些算法在项目中基本不会使用到,但是我们还是要学习的。


相信很多小伙伴们,在对一个数组进行排序的时候都会使用一下两个函数

  • sort() - 以升序对数组排序

  • rsort() - 以降序对数组排序


今天做了一个实验,在环境一致的情况下,分别做了两个实验进行对比

第一个实验使用sort()函数对十万个(1-1亿)的随机数进行排序

代码如下:

$i=0;
$arr=[];
while ($i<=100000)
{
   
$num=rand(0,100000000);
   
$arr[$i]=$num;
   
$i++;
}
sort(
$arr);

第二个实验使用冒泡排序算法十万个(1-1亿)的随机数进行排序

代码如下:

$i=0;
$arr=[];
while ($i<=100000)
{
   
$num=rand(0,100000000);
   
$arr[$i]=$num;
   
$i++;
}
$count=count($arr);
$itme='';
//外层循环控制选择当前数字
for($i=0; $i<$count; $i++)
     {
         
//内层循环控制外层循环的当前数字与整个数组的冒泡比较
           
for ($k = $i+1; $k < $count; $k++) {
               
//升序排序,反正降序排序更改为“<”判断
           
if($arr[$i]>$arr[$k])
           {
               
$itme=$arr[$i]; //转移当前的数字
               
$arr[$i]=$arr[$k];//替换成小的数字
               
$arr[$k]=$itme;//将$k的值替换成$i的值
           
}
       }
     }


现在我们来看看结果

image.png


结果证明PHP自带的sort()函数比自己的冒泡算法速度快N多倍,不知道是我的算法写错了 还是怎么回事。

各位大佬怎么看?




本文为MrYan原创文章,转载无需和我联系,但请注明来自MrYan个人博客:www.mryan888.com

文章评论

Top