最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

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

时间:2014-06-09 16:39来源: 作者: 点击: 次
冒泡法排序与二分法查找排序算法是我们在初中时就学过的,下面我来介绍在PHP冒泡法排序与二分法查 找实例,各位同学不防进入参考. 冒泡法排序,随便给出一个乱序数组 $arr = array(0,2,10,9,19,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. //输出排序后的结果 
  12. var_dump($arr); 
  13. //冒泡顺序排列 
  14. for($x=0;$x<$num-1;$x++){ 
  15.  for($y=0;$y<$num-1;$y++){ 
  16.   if($arr[$y]>$arr[$y+1]){ 
  17.    $temp = $arr[$y]; 
  18.    $arr[$y] = $arr[$y+1]; 
  19.    $arr[$y+1] = $temp; 
  20.   } 
  21.  } 
  22. } 
  23. //输出排序后的结果 
  24. var_dump($arr); 
  25. //二分法查找 
  26. function dichotomy($array,$k,$low=0,$high=0){ 
  27.  if(count($array)!= 0 && $high == 0){ 
  28.   $high = count($array); 
  29.  } 
  30.  if($low <= $high){ 
  31.   $mid = intval(($low+$high)/2); 
  32.   if( $array[$mid] == $k ){ 
  33.    return $mid; 
  34.   }elseif( $k<$array[$mid]){ 
  35.    return dichotomy( $array,$k,$low=0,$mid-1); 
  36.   }else{ 
  37.    return dichotomy( $array,$k,$mid+1,$high); 
  38.   } 
  39.  }else{ 
  40.   return false; 
  41.  } 
  42. } 
  43. //输出查找结果 
  44. echo dichotomy($arr,23); 

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

(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容