博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每日一算法【one】
阅读量:4456 次
发布时间:2019-06-08

本文共 896 字,大约阅读时间需要 2 分钟。

//有一个数组  {1,2,3,4,5,6,7,8,9,12,13,45,67,89,99,101,111,123,134,565,677} 查找数组中是否有指定的某一个数.

1 /** 2   *---------------------------------------- 3   * Time:2016-06-21 | 二分查找 4   *--------------------------------------- 5   */  6 function binarySearch(&$arr,$findVal,$leftIndex,$rightIndex){ 7   if($rightIndex < $leftIndex){ 8     echo "哇哇哇,找不到o(︶︿︶)o 唉"; 9     return;10   }11   // @ 取中间的key12   $middleIndex=round(($rightIndex+$leftIndex)/2);13   if($findVal > $arr[$middleIndex]){14     binarySearch($arr,$findVal,$middleIndex+1,$rightIndex);15   }else if($findVal < $arr[$middleIndex]){16     binarySearch($arr,$findVal,$leftIndex,$middleIndex-1);17   }else{18     echo "哇哇哇找到你了o(∩_∩)o 哈哈。下标是$middleIndex";19   }20 }21     $arr=array(1,2,3,4,5,6,7,8,9,12,13,45,67,89,99,101,111,123,134,565,677);22     print_r(binarySearch($arr,89,0,count($arr)-1));

 

转载于:https://www.cnblogs.com/puler/p/5613028.html

你可能感兴趣的文章
IP通信基础 4月1日
查看>>
KeyProvider
查看>>
空指针为什么能调用成员函数?
查看>>
用MySQL的存储过程来实现一些经典函数
查看>>
React (2) -- State and Lifecycle
查看>>
【转】在EmEditor上编译并运行JAVA
查看>>
关于SqlDateTime溢出的问题
查看>>
jquery下php与ajax的数据交换方式
查看>>
魅蓝Note有几种颜色 魅蓝Note哪个颜色好看
查看>>
使用PullToRefresh实现下拉刷新和上拉加载
查看>>
透明度百分比与十六进制转换
查看>>
HBase表预分区
查看>>
arcgis desktop 10.1 license manager无法启动问题解决
查看>>
django select_related() 联表查询
查看>>
mysql 常用,使用经验
查看>>
NSBundle,UIImage,UIButton的使用
查看>>
vue-cli3 中console.log报错
查看>>
GridView 中Item项居中显示
查看>>
UML类图五种关系与代码的对应关系
查看>>
如何理解作用域
查看>>