php 数组二分法查找函数代码

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

<?php
//search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值
function search($array, $k, $low=0, $high=0)
{
if(count($array)!=0 and $high == 0) //判断是否为第一次调用
{
$high = count($array);
}
if($low <= $high) //如果还存在剩余的数组元素
{
$mid = intval(($low+$high)/2); //取$low和$high的中间值
if ($array[$mid] == $k) //如果找到则返回
{
return $mid;
}
elseif ($k < $array[$mid]) //如果没有找到,则继续查找
{
return search($array, $k, $low, $mid-1);
}
else
{
return search($array, $k, $mid+1, $high);
}
}
return -1;
}
$array = array(4,5,7,8,9,10); //测试search函数
echo search($array, 8); //调用search函数并输出查找结果
?>

相关文章

PHP实现的数组和XML文件相互转换功能示例

本文实例讲述了PHP实现的数组和XML文件相互转换功能。分享给大家供大家参考,具体如下: 最近搞微信支付,微信服务器返回的都是XML文件,所以需要转换成数组,才会便于操作,好了话不多说,...

PHP中变量引用与变量销毁机制分析

本文实例分析了PHP中变量引用与变量销毁机制。分享给大家供大家参考。具体分析如下: 变量是php中一个非常重要的类型了,我们的有数据都通过变量或常量来进行操作,下文来看看变量引用与变量销...

PHP similar_text 字符串的相似性比较函数

PHP 提供了一个极少使用的 similar_text 函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比,以下是similar_text () 函数的使用方法: 复制代码...

解析php中的escape函数

采用js对URL中的汉字进行escape编码。 <a href="" onclick="window.open('product_list.php?p_sort='+escape(...

关于Sphinx创建全文检索的索引介绍

全文检索的索引创建过程一般有以下几步:1、一些需要创建索引的文档(Documents)。 2、将原文档传给分词组件(Tokenizer)。 3、将得到的词元(Token)传给语言处理组件...