C言语二分查找(折半查找)算法及代码
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,二分査找也称折半査找,其长处是查找速度快,缺陷是请求所要査找的数据必需是有序序列。该算法的根本思惟是将所要査找的序列的两头地位的数据与所要査找的元素停止比拟,假如相等,则表现査找胜利,不然将以该地位为
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
rpg是用什么软件开发的
四川生鲜app软件开发
互联网突破科技原因
对口升学计算机网络技术题
有人串口服务器sina
湖南apple软件开发
网络安全50个字
数据库查询功能生成汇总表
sql数据库管理工具有哪些
网络安全招标有哪些资质要求
如何查看数据库报文
数据库受到的安全威胁名单
数据库软考改卷严吗
网络安全工程师找工作好找吗
福州鑫威格网络技术
麦多山东网络技术服务有限公司
软件开发流程文档模板
杭州牛顿网络技术公司
工业视觉软件开发步骤
微信小程序账号登录链接数据库
遵义领信网络技术有限公司
网络技术导致年味变淡
网络安全保险在美国的发展
如何查询软件数据库类型
徐汇区个性化软件开发概念设计
编程软件开发需要多少钱
福州鑫威格网络技术
维普数据库怎么发行
江苏恒山系列鲲鹏服务器单价
toad中如何导出数据库