二分查找
2011-05-19 15:31
162 查看
参考代码如下:
#include <iostream> using namespace std; int a[20] = {0}; void init() { for (int i = 0; i < sizeof(a) / sizeof(int); ++i) { a[i] = 2 * i; } } int binarysearch(int a1[], int begin, int end, int key) { while (begin <= end) { int mid = (begin + end) / 2; if (key < a1[mid]) end = mid - 1; else if (key > a1[mid]) begin = mid + 1; else return mid; } return -1; } int main() { init(); cout<<binarysearch(a,0,sizeof(a) / sizeof(int) - 1, 6)<<endl; cout<<binarysearch(a,0,sizeof(a) / sizeof(int) - 1, 7)<<endl; return 0; }
相关文章推荐
- 一个二分查找程序
- 二分查找
- 二分查找 非递归
- 二分查找
- Java对查找算法的实现—二分查找(二)
- 二分查找(Binary Search)需要注意的问题,以及在数据库内核中的实现 | 深入MySQL内核
- “斐波那契查找”真的比“二分查找”快么?
- 二分查找
- 二分查找
- hdu2199Can you solve this equation? (浮点型二分查找)
- 算法 二分查找(折半查找)
- [ACM] poj 1064 Cable master (二分查找)
- 二分查找(Scheme)
- poj 3122 (二分查找)
- 二分查找
- 搜索入门之“二分查找”&&double运算精度问题-HDU2199
- 二分查找_递归版_while版
- 二分查找(折半查找)
- 二分查找(模板)
- 数据结构学习笔记6-寻找和为定值的两个数(二分查找)