C言语二分查找(折半查找)算法及代码
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,二分査找也称折半査找,其长处是查找速度快,缺陷是请求所要査找的数据必需是有序序列。该算法的根本思惟是将所要査找的序列的两头地位的数据与所要査找的元素停止比拟,假如相等,则表现査找胜利,不然将以该地位为
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
互联网科技海报
上海喔噻互联网科技有限公司
广东万易互联网科技有限公司惠州分公司
中国互联网科技股
智网互联网科技
汇久创客互联网科技
易通互联网络科技有限公司
广州善班互联网科技
苏州大垚互联网科技
科技类的互联网平台
中盈科技互联网信息有限公司
广州优美互联网科技
互联网经济与金融科技
河南住房之家互联网科技
阿里互联网科技企业
无锡工业互联网科技有限公司
众安科技工业互联网合作
智帮互联网科技公司最近动向
广东工业互联网大赛深圳学泰科技
广州互联网高科技取餐柜
手冲咖啡和咖啡机区别
互联网科技名片
疫情对互联网科技公司影响
华宇互联网科技
深圳前海聚择互联网科技有限公司
宁波青枫互联网科技有限公司
互联网科技扶贫时间
翼展科技 首家互联网医院
互联网科技包装股份有限公司上市
互联网科技职业技能培训学校