二分法查找
2015-07-23 16:03
323 查看
int bin(int *array, int low, int high, int key)//二分法查找 { while(low <= high) { int mid = (low + high) / 2; if (key == array[mid])//中间切一刀,正好和要查找的数相等 return mid; else if (key > array[mid])//如果要找的数大于array[mid],那么就在下半部分继续切刀 low = mid + 1; else//如果要找的数小于array[mid],那么就在上半部分继续切刀 high = mid - 1; } return -1;//没有找到数据 } int bin_rec(int *array, int low, int high, int key)//递归实现二分法查找 { if (low <= high)//递归终止条件 { int mid = (low + high) / 2; if (key == array[mid]) return mid; else if (key > array[mid]) return bin_rec(array, mid +1, high, key);//在下半部分查找 else return bin_rec(array, low, mid - 1, key);//在上半部分查找 }else return -1; }
相关文章推荐
- 还是回归CSDN吧
- Unity3D-client +MinaServer仿微信聊天系统
- 阿里云配置全过程
- Html5中的<section>标签
- 巡逻机器人(Patrol Roboot,UVa1600)
- ZOJ_1091-Knight Moves
- 如何快速找到下载主机,解决网络拥塞问题。
- 加载配置文件
- linux下编译dcmtk的Android版本
- Windows下MongoDB安装和配置
- Casperjs中fill提交表单遇到的问题
- 程序员装逼速成手册
- find命令查找到不到软链接内的文件
- Nexus5(LG手机)刷机教程
- 使用setjmp()和longjmp()执行非局部跳转
- HDU 4006 The kth great number AVL解
- 汉字占2个字节、英文字母占1个字节
- git安装以及设置ssh,用户名和邮箱
- 结构型模式-适配器模式
- PCL点云程序学习