二分查找
来源:互联网 发布:java nexttoken 编辑:程序博客网 时间:2024/06/05 10:27
循环
int BinSearch(int a[], int n, int key){ int low = 0, high = n - 1, mid; while (low <= high) { if (a[low] == key) return low; if (a[high] == key) return high; mid = low + (high - low) / 2;//而不是(low+high)/2,是为了防止溢出 if (a[mid] == key) return mid; else if (a[mid] < key) low = mid + 1; else high = mid - 1; } if (low > high) return -1;}
递归
int BinSearch(int a[],int left, int right, int key){ int mid = left + (right - left) / 2; if (left > right) return -1; else { if (a[mid] == key) return mid; else if (a[mid] > key) return BinSearch(a, left, mid - 1, key); else return BinSearch(a, mid+1, right, key); }}
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- LightOj1282(阶乘前三位和后三位)
- Treap 基本ADT
- android studio导入不同版本的android项目
- 第一份工作总结
- 从“-2”告警跟踪到的问题
- 二分查找
- android app性能优化大汇总(UI渲染性能优化)
- 对于php、mysql优化、angularjs的一些小感悟
- leetcode-504-Diameter of Binary Tree
- poj 2142 数论 扩展欧几里得
- leetcode-504-Diameter of Binary Tree
- C++后台开发 网络编程实践一
- boost库入门
- Servlet分页技术