php自带排序函数sort()和用自己用php实现的快速排序算法,速度比较。

我今天特地试验了一下两者的性能

php自带的排序函数  100000的数据 排序 平均耗时0.068s

for ($i = 0; $i<100000;$i++){

$arr[] = rand(0,10000);
}


 $t1 = microtime(true);


sort($arr);


$t2 = microtime(true);
echo "php自带排序sort()耗时:".($t2-$t1); 



自己写的快速排序 平均耗时1.0s

$t1 = microtime(true);
$returnAr = quickSort($arr);
$t2 = microtime(true);
echo "快速排序耗时:".($t2-$t1); 
//快速排序
function quickSort($arr) {				
$length = count($arr);		//先判断是否需要继续进行

if($length <= 1) {
return $arr;
}
$base_num = $arr[0];   			//选择第一个元素作为基准
$left_array = array(); 
$right_array = array(); 
for($i=1; $i<$length; $i++) {	
if($base_num > $arr[$i]) 
{
$left_array[] = $arr[$i];
} else {
$right_array[] = $arr[$i];
}
}
$left_array = quickSort($left_array);
$right_array = quickSort($right_array);
return array_merge($left_array, array($base_num), $right_array);
}

明显是php自带的函数排序速度快很多。
但重点是,为什么还有那么多问题是问 如何用php实现快速排序等算法?
自己猜测是  排序算法应该是作为编程思想的表现,一般上在php工程中不太可能需要自己写排序吧?
也可能是我见识短浅,没遇到过?
若有朋友对此有了解,敬请告知,万分感激。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值