有n个整数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值

输入的第一行有两个数n、m。n表示数组有n个数,m表示要找的数。第二行是n个由大到小排序好的数。若有就输出该数所在的位置,无就输出无此数... 输入的第一行有两个数n、m。n表示数组有n个数,m表示要找的数。第二行是n个由大到小排序好的数。 若有就输出该数所在的位置,无就输出无此数 展开
 我来答
左手在海大8A
2012-12-17 · TA获得超过245个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:181万
展开全部
int a[n];
L=0;R=n;
int mid;

while(L<R)
{
mid=L+(R-L)/2;
if(a[mid]==m)
{
printf("find %d",mid);

break;
}

else if(a[mid]>m) L=mid;
else if(a[mid]<m) R=mid;
}
if(a[mid]!=m) puts("no found");
代码说话,满意请采纳。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yts2004
2012-12-17 · TA获得超过596个赞
知道小有建树答主
回答量:768
采纳率:0%
帮助的人:348万
展开全部
好高深,须问专业人士
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式