码迷,mamicode.com
首页 > 编程语言 > 详细

数组查找之二分查找-PHP

时间:2017-09-22 10:05:04      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:blog   function   utf-8   header   cti   index   har   log   func   

 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

标签:blog   function   utf-8   header   cti   index   har   log   func   

原文地址:http://www.cnblogs.com/tandi19960505/p/7572395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!