static bool whilehalf(int n)
{
int low = 0; //低位
int hight = arr.Length - 1; //高位
int c = (hight + low)/2;
while(low <= hight)
{
if(n> arr[c])
{
low = c + 1;
}else if(n < arr[c])
{
hight = c - 1;
}else if(n == arr[c])
{
Console.WriteLine("找到");
return true;
}
c = (hight + low)/2;
}
return false;
}
static bool rechalf(int l, int h, int c, int n)
{
if(l> h)
{
return false;
}else if(arr[c] > n)
{
h = c - 1;
c = (h + l) / 2;
return rechalf(l, h, c, n);
}else if(arr[c]< n)
{
l = c + 1;
c = (h + l) / 2;
return rechalf(l, h, c, n);
}
else
{
return true;
}
}