二分搜索

 1 int binary_search ( int n , int low , int high )
 2 {
 3     int mid = ( low + high ) >> 1 ;    //下标大会溢出
 4 
 5     while ( low <= high )
 6     {
 7         if ( a [ mid ] > n )
 8             high = mid - 1 ;
 9         else if ( a [ mid ] < n )
10             low = mid + 1 ;
11         else
12             return mid ;
13         mid = ( low + high ) >> 1 ;
14     }
15 
16     return -1 ;
17 }

 

posted on 2013-03-14 19:38  小穹かすがの そら  阅读(60)  评论(0编辑  收藏  举报

导航