用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

冒泡法排序与二分法查找排序算法是我们在初中时就学过的,下面我来介绍在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学习者能提供一点点的帮助。

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门