public
static
int
binSearch(
int
[] Array,
int
key){
int
low =
0
;
int
high = Array.length-
1
;
while
(low<=high){
int
mid = low+((high-low)>>>
1
);
//右移一位,相当于除以2,但右移的运算速度更快
//若使用(low+high)/2求中间位置容易溢出
System.out.println(
"打印low:"
+low);
if
(key == Array[mid])
return
mid;
else
if
(key > Array[mid])
low = mid+
1
;
else
if
(key < Array[mid])
high = mid-
1
;
}
return
-
1
;
}