码迷,mamicode.com
首页 > 其他好文 > 详细

二分查找

时间:2016-06-09 00:57:10      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:二分查找

#include<iostream>
#include<assert.h>
using namespace std;
 
int BinarySearch(int*a, int size, int x)
{
assert(a);
int left = 0;
int right = size - 1;//闭区间[]    
//int right=size;//开区间[)
while (left <= right)
//while(left<right)
{
int mid = left + ((right - left) >> 1);
if (a[mid] < x)
{
left = mid + 1;
}
else if (a[mid]>x)
{
right = mid - 1;
//right=mid;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
 
int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int ret = BinarySearch(a, 10, 5);
cout << ret << endl;
system("pause");
return 0;
}


二分查找

标签:二分查找

原文地址:http://frankenstein.blog.51cto.com/10918184/1787550

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!