(1)要求:必须采取顺序存储结构,元素必须按关键子大小有序
(2)思想:首先将表中间位置的关键字与查找的关键字比较,如果两者相等则查找成功,否则将记录按中间的元素分成前后两个表,如果要查找的关键字大于中间的关键字,则在后面的表中查找,如果要查找的关键字小于中间的关键字,则在前面的表中查找。
(3)代码
int BinSearch(int Array[],int SizeOfArray,int key/*要找的值*/)
{
int low=0,high=SizeOfArray-1;
int mid;
while (low<=high)
{
mid = (low+high)/2;
if(key==Array[mid])
return mid;
if(key<Array[mid])
high=mid-1;
if(key>Array[mid])
low=mid+1;
}
return -1;
}