数组查找之二分查找-PHP
Posted 巅峰小学生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组查找之二分查找-PHP相关的知识,希望对你有一定的参考价值。
1 <?php 2 //设置请求头 3 header("content-type:text/html;charset=utf-8"); 4 5 /* 6 二分差查找: 7 源:数组 8 条件:必须是有序的数据,要么从小到大,要么从大到小 9 10 */ 11 12 $arr = array(1,2,3,4,5); 13 14 /* 15 @$arr 源数组 16 @$arr_start_index 开始下标 17 @$arr_end_index 结束下标 18 @$number 要查找的数 19 */ 20 function search(&$arr, $arr_start_index, $arr_end_index, $number){ 21 22 //防止下标重合 23 if($arr_start_index > $arr_end_index){ 24 echo ‘不存在改值‘; 25 exit; 26 } 27 28 $arr_center_index = round( ($arr_start_index + $arr_end_index)/2 ); //向下取整 29 30 if($arr[$arr_center_index] > $number){ 31 search($arr, $arr_center_index, $arr_end_index-1, $number); 32 } 33 34 else if($arr[$arr_center_index] < $number){ 35 search($arr, $arr_start_index+1, $arr_center_index, $number); 36 } 37 38 else if($arr[$arr_center_index] == $number){ 39 echo ‘存在给值,该值在数组中的下标为:‘ . $arr_center_index; 40 exit; 41 } 42 43 echo ‘不存在改值‘; 44 exit; 45 } 46 47 search($arr, 0, 4,5); 48 49 ?>
以上是关于数组查找之二分查找-PHP的主要内容,如果未能解决你的问题,请参考以下文章