用“折半查找法”从有10个数的a数组中对关键字m查找,若找到,返回其下标值,否则返回-1 10
2个回答
展开全部
//定义查找函数,其中len表示数组的长度,m表示要查找的值
int BFind(int arr[],int len,int m)
{
int k=-1;
int low=0;
int high=len-1;
int mid=(low+high)/2;
while(low<=high)
{
if(m==arr[mid])
return mid;
else if(m<arr[mid])
{
high=mid-1;
}
else
low=mid+1;
mid=(low+high)/2;
}
return -1;
}
int BFind(int arr[],int len,int m)
{
int k=-1;
int low=0;
int high=len-1;
int mid=(low+high)/2;
while(low<=high)
{
if(m==arr[mid])
return mid;
else if(m<arr[mid])
{
high=mid-1;
}
else
low=mid+1;
mid=(low+high)/2;
}
return -1;
}
参考资料: 折半查找必须要求数组有序
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int seek(int X,int a[],int size)
{
for(;size>=0;size--)
if(X==a[size]) return size;
return -1;
}
{
for(;size>=0;size--)
if(X==a[size]) return size;
return -1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询