二分搜索方法
来源:互联网 发布:南大碎尸案 知乎 编辑:程序博客网 时间:2024/06/06 12:24
int binarySearch(int list[], int key, int low, int high){int mid;while(low <= high){int mid = (low + high)/2;if (key == list[mid])return mid;else if(key < list[mid])high = mid - 1;elselow = mid + 1;}if (key > list[mid]){return mid+1;}else return mid;}
PS:list中的数组是由小到大有序存放的。
另外讨论一种错误的二分搜索法:
int binarySearch(int list[], int key, int low, int high){int mid;while(low <= high){int mid = (low + high)/2;if (key == list[mid])return mid;else if(key < list[mid])high = mid - 1;elselow = mid ;}if (key > list[mid]){return mid+1;}else return mid;}
这种情况在最后会陷入low=mid的死循环。
- 二分搜索方法
- 二分搜索(查找)方法
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- Java 版本 特征 和 历史
- linux下的ssh命令
- Android APN的设置问题
- ARM启动代码学习(一)RO和RW还有ZI代表什么?(转载)
- spring之循环注入问题
- 二分搜索方法
- E_R图简介
- vsftp 搭建注意事项
- Java程序员面试中的多线程问题
- linux下svn命令大全-非常全
- 快学Scala习题解答—第十二章 高阶函数
- Volatile深入理解
- 音像店迷你DVD管理器
- Average Numbers BIT1001