二分查找
2015-03-12 14:18 itwolf 阅读(202) 评论(0) 编辑 收藏 举报二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
C++源代码:
1 // 二分查找.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 using namespace std; 7 /****二分查找函数,长度为length的数组a中查找num,如果查找成功返回下标,否则返回0**/ 8 int binsearch(int *a,int length,int num) 9 { 10 int small=0; 11 int big=length-1; 12 int mid; 13 while(small<big) 14 { 15 mid=(small+big)/2; 16 if(a[mid]==num) 17 { 18 return mid; 19 } 20 else 21 { 22 if(a[mid]<num) 23 { 24 big=mid-1; 25 } 26 if(a[mid]>num) 27 { 28 big=mid+1; 29 } 30 } 31 } 32 return -1; 33 } 34 int _tmain(int argc, _TCHAR* argv[]) 35 { 36 int num[5]={1,2,4,6,8}; 37 cout<<binsearch(num,5,4)<<endl; 38 cout<<binsearch(num,5,9)<<endl; 39 return 0; 40 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)