1、顺序查找

 function line_search($array,$tar)
{
if(!is_array($array) || count($array) < 1) return false;
for($i=0;$i<count($array);$i++){
if($array[$i] == $tar){
return $i;
}
}
return false;
} line_search($arr,34);

2、二分法查找

 // 非递归
function binary_search($array,$tar)
{
if(!is_array($array) || count($array) < 1) return false;
// 数组必须排序
sort($array);
$high = count($array) - 1;
$low = 0;
while($low <= $high){
$middle = intval(($high + $low) / 2);
if($array[$middle] > $tar){
$high = $middle - 1;
}elseif($array[$middle] < $tar){
$low = $middle + 1;
}else{
return $middle;
}
}
return false;
} binary_search($arr,165.4);
 // 递归
function binary_search($array,$tar,$high=0,$low=0)
{
if(!is_array($array) || count($array) < 1) return false;
sort($array);
if($low <= $high){
$middle = intval(($high + $low) / 2);
if($array[$middle] > $tar){
$high = $middle - 1;
echo $high."</br>";
return binary_search($array,$tar,$high,$low);
}elseif($array[$middle] < $tar){
$low = $middle + 1;
return binary_search($array,$tar,$high,$low);
}else{
return $middle;
}
}
return false;
} binary_search($arr,125,count($arr),0);

最新文章

  1. vim - char code and charset
  2. sass基本用法(转载)
  3. 后端码农谈前端(CSS篇)第八课:继承与层叠
  4. 学习Swift,一定不能错过的10大开源项目!
  5. JavaWeb四个域
  6. mysql sort 性能优化
  7. HDU 4081 Qin Shi Huang&#39;s National Road System
  8. selector是在文件夹drawable中进行定义的xml文件。
  9. Spring ContentNegotiatingViewResolver
  10. 使用TortoiseSVN打Tag
  11. luogu3687-[ZJOI2017] 仙人掌
  12. ModelFirst开发
  13. 简单对比git pull和git pull --rebase的使用
  14. toString 和new String()区别
  15. HTML5表单_form
  16. HDOJ2004_成绩转换
  17. 谈谈MySQL无法连接的原因和分析方法
  18. (转)c# 互斥锁
  19. 行为型设计模式之模板方法(TEMPLATE METHOD)模式 ,策略(Strategy )模式
  20. 021-centos6.5上二进制安装mysql5.7.22

热门文章

  1. BZOJ_3209_花神的数论题_组合数+数位DP
  2. bzoj3195 [Jxoi2012]奇怪的道路——状压DP
  3. Linux下安装Redis及搭建主从
  4. bzoj 5281: [Usaco2018 Open]Talent Show【dp】
  5. bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队【st表||线段树】
  6. vsftpd 配置文件
  7. 【POJ - 1458】Common Subsequence(动态规划)
  8. Luogu P3320 [SDOI2015]寻宝游戏 / 异象石 【LCA/set】
  9. Luogu P1638 逛画展 【二分答案】
  10. 安装privoxy后curl 操作