日期:2014-05-20  浏览次数:20647 次

已排序数组,用二分法查找,谁给个例子?
已排序数组,用二分法查找,谁给个例子?

------解决方案--------------------
Arrays.binarySearch(..)

如果自己写的话,先查找n/2,比较大小,决定找前一半,还是后一半,再找那一半的中间位置,一直找到你要找的。。。
------解决方案--------------------
static int BinSearch(char[] a, char b)
{
int low = 0;
int high = a.Length - 1;
int mid;
while (low <= high)
{
mid = (low + high) / 2;
if (a[mid] == b)
return mid;
else if (a[mid] > b)
high = mid - 1;
else
low = mid + 1;
}
return -1;
}