做网站业务员怎么样,深圳福田最新新闻事件,做gif表情包网站,wordpress分类关键词PHP中对于数组的查找可以用顺序查找或二分法查找。其中顺序查找比较简单#xff0c;就是逐个比较查找。但缺点也较明显#xff0c;如果查找的元素恰巧在最后一个#xff0c;循环的次数过多。1.顺序查找算法描述在数组中逐个查找#xff0c;确认是否有某个元素#xff0c;存…PHP中对于数组的查找可以用顺序查找或二分法查找。其中顺序查找比较简单就是逐个比较查找。但缺点也较明显如果查找的元素恰巧在最后一个循环的次数过多。1.顺序查找算法描述在数组中逐个查找确认是否有某个元素存在时返回元素的位置信息。可以设置标志信息初始值为false.找到直接输出位置并将标志设置为true。循环结束标志仍为false则没有找到。代码体现$arr [123,19,38,29,10,34];function search($arr,$target){// 参数目标数组 目标元素foreach ($arr as $key $value) {if($value $target){return $key.;}}return false;}2.二分法查找算法描述假设数组严格升序。如果目标元素大于中间的值查找范围向右侧缩小一半。如果目标元素的值小于中间元素的值查找范围向左侧缩小一半。代码体现function half_search($arr,$target){// 定义出初始的第一个最后一个元素的下标范围$len count($arr);$left 0;$right $len -1;// 循环查找// 范围不断的移动 必须满足一个条件// 最左侧元素的下标 小于等于右侧元素的下标while($left $right){// 中间元素的下标$middle floor(($left $right) /2);// 目标元素与中间元素进行比较if($target $arr[$middle]){return $middle;}// 如果目标元素小于中间元素// 范围向左缩小一半if($target $arr[$middle]){$right $middle-1 ;}// 如果目标元素大于中间元素// 范围向右缩小一半if($target $arr[$middle]){$left $middle 1;}}// 循环终止了// 没有找到return false;}相关推荐