C言语二分查找(折半查找)算法及代码
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,二分査找也称折半査找,其长处是查找速度快,缺陷是请求所要査找的数据必需是有序序列。该算法的根本思惟是将所要査找的序列的两头地位的数据与所要査找的元素停止比拟,假如相等,则表现査找胜利,不然将以该地位为
千家信息网最后更新 2025年01月21日C言语二分查找(折半查找)算法及代码
二分査找也称折半査找,其长处是查找速度快,缺陷是请求所要査找的数据必需是有序序列。该算法的根本思惟是将所要査找的序列的两头地位的数据与所要査找的元素停止比拟,假如相等,则表现査找胜利,不然将以该地位为基准将所要査找的序列分为阁下两局部。接下来依据所要査找序列的起落序纪律及两头元素与所查找元素的巨细关系,来选择所要査找元素能够存在的那局部序列,对其采取异样的办法停止査找,直至可以肯定所要查找的元素能否存在,详细的运用办法可经过下面的代码详细理解。
#includebinarySearch(int a[], int n, int key){ int low = 0; int high = n - 1; while(low<= high){ int mid = (low + high)/2; int midVal = a[mid]; if(midVal key) high = mid - 1; else return mid; } return -1; } int main(){ int i, val, ret; int a[8]={-32, 12, 16, 24, 36, 45, 59, 98}; for(i=0; i<8; i++) printf("%d\t", a[i]); printf("\n请输人所要查找的元素:"); scanf("%d",&val); ret = binarySearch(a,8,val); if(-1 == ret) printf("查找掉败 \n"); else printf ("查找胜利 \n"); return 0; }
运转后果:
-32 12 16 24 36 45 59 98请输出所要查找的元素:12查找胜利
在下面的代码中,我们胜利地经过二分査找算法完成了查找功用,其完成进程如下图所示。
二分査找算法的査找进程
在如上图所示的查找进程中,先将序列两头地位的元素与所要査找的元素停止比拟,发现要査找的元素位干该地位的左局部序列中。接下来将mid的右边一个元素作为 high,持续停止二分査找,这时mid所对应的两头元素刚好是所要査找的元素,査找完毕,前往査找元素所对应的下标。在main函数中经过前往值来判别査找能否胜利,假如査找胜利.就打印输入"査找胜利"的信息,不然输入"査找掉畋"的信息。
元素
序列
胜利
两头
地位
算法
局部
进程
代码
接下来
信息
办法
数据
面的
输入
有序
上图
下标
函数
功用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全球制裁跟踪数据库
软件开发好还是服务外包好
强化网络技术培训班
塔式服务器连接网线后查看ip
mc小型服务器
王者q区是什么服务器
网络技术学习计划作文
全民奇迹服务器下载
mac网络安全密钥是什么
比较毒理数据库
武汉思连网络技术有限公司
java 服务器 免费
上海赞迪网络技术
服务器ghost备份教程
蓟州区节能软件开发服务装饰
50人的设计公司如何搭建服务器
网络安全的预防PPT图片
郑州网络安全大会
阔知网络软件开发
网络安全测漏师
广州企业软件开发多少钱
收录网络安全漏洞
类似数据库操作的题目
学什么软件开发好找工作
苏州软件开发一个多少钱
软件开发有监理吗
小型企业服务器维修公司
打印机怎么安装云服务器
常用的邮件服务器软件
什么是银行网络安全