二分搜索算法
答案:4 悬赏:60 手机版
解决时间 2021-03-22 09:04
- 提问者网友:临风不自傲
- 2021-03-21 11:43
二分搜索算法
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-03-21 12:02
#include
#include
int a[100]={1,2,3,5,12,12,12,15,29,55};//数组中的数(由小到大)
int k;
void found(int &x,int &y,int k) //在x与y之间,要找k
{
if(x>y)return;
int m=x+(y-x)/2;
if(a[m]==k)x=y=m;
else if(a[m]>k)found(x,y=m-1,k);//找左边
else found(x=m+1,y,k);//找右边
}
int main()
{ int i=0,j=9;
scanf("%d",&k);//输入要找的数字k
found(i,j,k);//从数组a[0]到a[9]中找k
if(i==j)printf("a[%d]==%d
",i,k);
else printf("a[%d]==%d a[%d]==%d, k==%d
",j,a[j],i,a[i],k);
}
全部回答
- 1楼网友:酒者煙囻
- 2021-03-21 15:01
大汗....这个问题是不是应该到电脑那边发布啊..
我学音乐的,这个问题对我来说太难了...哭了...
我学音乐的,这个问题对我来说太难了...哭了...
- 2楼网友:一袍清酒付
- 2021-03-21 13:34
我的C语言差点挂科了,我也不知道!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯