二分搜索
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 }