冒泡排序法和二分法排序

<?php


//使用冒泡排序法对数组进行排序的原理:数组元素两两比较大小
function func($arr){
$len=count($arr);
for($i=0;$i<$len-1;$i++){
for($j=0;$j<$len-1-$i;$j++){
if($arr[$j]>$arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
print_r($arr);
}
 $arr=array(0,11,2,3,24,5,16,7,48,9);
 func($arr);
 
 
//使用快速排序法对数组进行排序的原理:数组元素进行树状分支,分结点比较大小,然后采用递归函数递归处理
$arr=array(22,1,33,4,56,7,8,3,33,44,66,0,99);
function fenzhi($arr){
$len=count($arr);
if(!is_array($arr)||empty($arr)){
return array();
}
if($len<=1){
return $arr;
}
$left=array();
$right=array();
$key[]=$arr[0];
for($i=1;$i<$len;$i++){
      if($arr[$i]>=$key[0]){
 $left[]=$arr[$i]; 
  }
  else{
  $right[]=$arr[$i];
  }
}
$left=fenzhi($left);
$right=fenzhi($right);
return array_merge($left,$key,$right);
}
   print_r(fenzhi($arr));
?>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值