国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > PHP冒泡法排序与二分法查找实例

PHP冒泡法排序与二分法查找实例

来源:程序员人生   发布时间:2014-05-25 11:35:03 阅读次数:3074次

冒泡法排序与二分法查找排序算法是我们在初中时就学过的,下面我来介绍在PHP冒泡法排序与二分法查 找实例,各位同学不防进入参考.

冒泡法排序,随便给出一个乱序数组

$arr = array(0,2,10,9,19,23,89,112,321,234);

统计数组:$num = count($arr);

冒泡倒序排列:

  1. for($i=0;$i<$num-1;$i++){ 
  2.  for($m=0;$m<$num-1;$m++){ 
  3.   if($arr[$m]<$arr[$m+1]){ 
  4.    $temp = $arr[$m]; 
  5.    $arr[$m] = $arr[$m+1]; 
  6.    $arr[$m+1] = $temp
  7.   } 
  8.   // echo $arr[$m].'<br>'; 
  9.  } 
  10. //输出排序后的结果 
  11. var_dump($arr); 
  12. //冒泡顺序排列 
  13. for($x=0;$x<$num-1;$x++){ 
  14.  for($y=0;$y<$num-1;$y++){ 
  15.   if($arr[$y]>$arr[$y+1]){ 
  16.    $temp = $arr[$y]; 
  17.    $arr[$y] = $arr[$y+1]; 
  18.    $arr[$y+1] = $temp
  19.   } 
  20.  } 
  21. //输出排序后的结果 
  22. var_dump($arr); 
  23. //二分法查找 
  24. function dichotomy($array,$k,$low=0,$high=0){ 
  25.  if(count($array)!= 0 && $high == 0){ 
  26.   $high = count($array); 
  27.  } 
  28.  if($low <= $high){ 
  29.   $mid = intval(($low+$high)/2); 
  30.   if$array[$mid] == $k ){ 
  31.    return $mid
  32.   }elseif$k<$array[$mid]){ 
  33.    return dichotomy( $array,$k,$low=0,$mid-1); 
  34.   }else
  35.    return dichotomy( $array,$k,$mid+1,$high); 
  36.   } 
  37.  }else
  38.   return false; 
  39.  } 
  40. //输出查找结果 
  41. echo dichotomy($arr,23); 

今天简单的研究了一下最常用的冒泡法排序与二分法查找,写了一个简单的案例,加强自己对php的学习,也希望对今后php学习者能提供一点点的帮助。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生