问题:对于一组数进行二分查找的前提:该组数为有序数组
实现二分查找代码:
public static int BinarySearch(int [] arr,int x)
{
if(arr==null || arr.Length == 0)
{
return -1;
}
int left = 0,right=arr.Length-1,middle=(left+right+1)/2;
while (left <= right)
{
if (arr[middle] == x)
{
return middle;
}
if (arr[middle] > x)
{
right = middle - 1;
}
if (arr[middle] < x)
{
left = middle + 1;
}
}
return -1;
}