//在范围是[x,y]的数组A中查找关键字key
int bsearch( int A[], int x, int y, int key )
{
//初始情况 x < y
int m;
while( x < y )
{
m = x + ( y-x ) / 2; //根据x和y 的值二分出m
if( A[m] == key ) return m; //如果恰好在二分点
else if( A[m] > key ) y = m; //如果 x < key < m
else x = m+1; //如果 m < key < y
}
return -1; //数组A中不存在值 = key查找失败
}