源自 : http://blog.youkuaiyun.com/v_july_v/article/details/7093204
int binary_search(int arr[],int n,int value)
{
int left = 0;
int right = n-1;
while(left<=right)
{
int middle = left +(right - left)/2; //middle = (left+right)/2可能造成溢出(当二者均很大的时候)
if(arr[middle] > value)
right = middle + 1;
else if(arr[middle] < value)
left = middle - 1;
else
return middle;
}
return -1;
}