解析PHP二分法,以确定数组是否包含元素。
二分法检查数组是否包含一个元素,该元素与正、负序兼容,并实现该代码。复制代码代码如下所示:
< PHP
searchvalue美元=(int)$ _get {关键};
函数搜索(数组$,数组,$)
{
$ =计数(数组)- 1;
$ = 0;
isascsort美元数组{ $分钟} <=数组$ { $最大};
当(真){
美元=最大值;
midkey美元=(int)($和% 2 = 1细胞($和 / 2):$和 / 2);
如果(最大$ <分钟){
返回- 1;
否则如果}(美元价值= =数组$ { $ midkey }){
返回1;
如果别人}(美元价值>数组$ { $ midkey }){
isascsort美元美元美元midkey + 1分钟= =最大midkey-1美元:美元;
别的}如果(美元价值<数组$ { $ midkey }){
isascsort美元美元美元美元midkey-1最大值:最小= midkey + 1美元;
}
}
}
数组=(数组)
4年,7,8,9,10,11,12
);
正
回波搜索($array,searchvalue美元);
/反转
rsort(数组);
回波搜索($array,searchvalue美元);
在搜索,看到百度百科的例子(java实现),和写代码的其他的一些技术,有一个问题,没有意识到,这些人不测试的误导,我们可以去搜索一下,昨天有时间写一个分享给大家。
这个数组不考虑非顺序键,主要是一种方法,如果你需要它,你可以自己扩展它。