Binary Search 二分查找
适用范围: 所查找的数组必须是有序的
在一个左闭右开的区间内查找一个数, 每次查找都和中间的数比较, 每次查找都把数据分成两半
int binarySearch(int a[],int left,int right,int key)
{
while (left < right)
{
int mid = (left + right) / 2;
if (a[mid] == key) return mid; //返回下标
else if (a[mid] < key) left = mid + 1;
else if (a[mid]>key) right = mid;
}
return 0; //没找的
}