1、线性搜索的条件:要求数据表有序。
【资料图】
2、线性搜索的工作原理:首先将表格中间记录的关键词与搜索关键词进行比较;
3、(如果两者相等,则搜索成功)
4、(否则,将表分成两个子表,根据比较结果决定寻找哪个子表。)
5、具体实现过程:第一步,输入数据。
6、可以直接将需要的数据存放在数组中,比如int a [10]={1,2,3,4,5,6,7,8,9,10 };
7、也可以循环输入。
8、for(i=0 ; i n ;i++)
9、 {
10、 scanf("%d",a[i]);
11、 }
12、实现数据输入数组;
13、具体实现过程:第二步,写一个圆形蘑菇。
14、如果在某个周期中没有找到匹配的数据,那么应该将(下标最大值1)或(下标最小值-1)赋给中间值mid
15、当下标最小值超过最大值时,循环结束,且(低高);
16、而(低=高)是建立环路的条件。
17、具体实施过程:第二步,判断。
18、如果循环找到与您的搜索匹配的数据,则结束循环;
19、if(x==a[mid] )
20、 {
21、Printf("找到数字" 6 "");
22、 break;
23、 }
24、注意:如果你想找到同样数量的你的数据,使用continue;
25、即:
26、if(x==a[mid] )
27、 {
28、Printf("找到数字" 6 "");
29、柜台;//记录的数量
30、Continue;
31、 }
32、c语言代码实现:
33、#include stdio.h
34、int main()
35、{
36、 int a[10]={1,2,3,4,5,6,7,8,9,10};
37、Printf("找到数字“6”。\ n’);
38、 int low=1;
39、int high=10//数组的最大下标n-1
40、int x=6;//要查找的数字
41、 int mid ;
42、 while(low=high)
43、 {
44、mid=(低高)/2;//下标的一半,int类型的除法和舍入。
45、 if(x a[mid])
46、 {
47、 high=mid +1;
48、 }
49、 if(x==a[mid] )
50、 {
51、Printf("找到数字" 6 "");
52、 break;
53、 }
54、 else
55、 {
56、 low=mid -1 ;
57、颜八}
58、 }
59、 return 0;
60、}
61、运行程序;成功截图如下;
62、二分搜索法的时间复杂度为O(log(n)),最坏的时间复杂度为O(n)。
以上就是二分查找算法这篇文章的一些介绍,希望对大家有所帮助。
上一篇:成语乐此不彼还是乐此不疲_乐此不彼乐此不疲区别-天天视点
下一篇:最后一页
1、是“人世间有百媚千红,我独爱爱你那一种”。2、这句话是屠洪刚演唱的歌曲《霸王别姬》里的一句歌词。3
当下是京东PLUS年费会员的好时机!现在购买1年仅需65元,享受更多的权益~作为京东PLUS会员,您能享受到很多
前述批发商也提到,和三四月份相比,近期榴莲价格确实降了一些,上月每斤约在30多元,这个月部分货降到了20
新京报讯(记者徐倩)5月8日,雅居乐集团控股有限公司(下称“雅居乐”)发布2023年4月份合约销售情况。根
1、你好从病人的情况来看,有可能是类风湿性关节炎,导致关节。2、寂寞韧带损伤钙化,出现这样的症状,必须
前几天有一个专家叫吴晓波,也和自媒体一样蹭上了热度,讲起来淄博的烧烤。归根到底就是一句话,淄博烧烤能
1、粉底液建议使用美妆蛋上妆。利用美妆蛋上粉底液可以涂抹的更加均匀,而且美妆蛋沾水之后使用还能增加肌
水利部莅郧调研水利帮扶工作---湖北日报客户端讯(通讯员王涛)5月5-6日,水利部定点帮扶工作会在湖北省十
1、《振宇英语·英语睡前5分钟:电影传情》是2011年4月1日北京航空航天大学出版社出版的图书。本文到此分享
今天小编肥嘟来为大家解答以上的问题。保证金保函怎么开,存出保证金是什么意思相信很多小伙伴还不知道,现
X 关闭
粤省事App“团体码”服务升级 “指尖管”更便捷
福建不强制学生统一参加中小学课后服务
浙江柯桥本轮疫情为2起独立疫情 2人有进口快递接触史
河南新增本土确诊病例1例 本土无症状感染者28例
黑龙江本土感染者清零
5月24日0时至24时 天津新增17名本土阳性感染者
X 关闭