private static bool BinSearch(int val)
{
int mid=0;
int lowerBound = 0;
int upperBound=array1.Length-1;
while (lowerBound <= upperBound)
{
mid = (upperBound + lowerBound) / 2;
if (array1[mid] == val)
return true;
else
{
if (val < array1[mid])
upperBound = mid - 1;
else
lowerBound = mid + 1;
}
}
return false;
}
实现原理:
1.对半分开。判断取到的值和传进来的对比
2.如果传来的值小于对半的值,把右端的下标减去1.再进行对半对比
3.如果传来的值大于对半的值,把左侧的下标加去1.再进行对半对比。
4.以此类推