/* 折半查找 */
/* 输出:9 */
static int BinarySearch(int [] a, int n, int key){
int low, high, mid;
low = 0;
high = n;
while(low <= high){
mid = (low + high) / 2; /* 折半 */
if (key < a[mid]){
high = mid - 1;
}
else if (key > a[mid]){
low = mid + 1;
}
else
return mid;
}
return 0;
}