int binary(element_type a[],element_type x,int n)
//数组a:存储的长度为n的有序表(升序)
//x:是待查元素
//返回值:某有效地址(若x在表中);或NOTFOUND(若x不在表中)
//NOTFOUND是指等于-1的常数,表示无效地址
{
int left,right,mid;
left=0,right=n-1;
while (left<=right) {
mid=(left+right)/2;
if (x==a[mid]) {
return (mid);
}
if (x<a[mid]) {
right=mid-1;
}else left=mid+1;
}
return (NOTFOUND);
}
二分查找算法
最新推荐文章于 2023-07-01 21:51:39 发布