越简单越好!

顺序查找和二分查找

发表于 2007-07-24 16:03 | 1357次阅读 0次点赞   PHP
1 // 二分查找(数组里查找某个元素)
2 function bin_sch( $array , $low , $high , $k ){  
3      if ( $low <= $high ){  
4          $mid = intval (( $low + $high ) / 2 );  
5          if ( $array [ $mid ] == $k ){  
6              return $mid ;  
7          } elseif ( $k < $array [ $mid ]){  
8              return bin_sch( $array , $low , $mid - 1 , $k );  
9          } else {  
10              return bin_sch( $array , $mid + 1 , $high , $k );  
11          }  
12      }  
13      return - 1 ;  
14 }  
15
16 // 顺序查找(数组里查找某个元素)
17 function seq_sch( $array , $n , $k ){  
18      $array [ $n ] = $k ;  
19      for ( $i = 0 ; $i < $n ; $i ++ ){  
20          if ( $array [ $i ] == $k ){  
21              break ;  
22          }  
23      }  
24      if ( $i < $n ){  
25          return $i ;  
26      } else {  
27          return - 1 ;  
28      }  
29 }
返回顶部 ^