bool binary_search(int arr[],int size, int data)
{
int left = 0;
int right = size;
int key = 0;
while (left <= right)
{
//key = (left + right) / 2;
key = left + (right - left) / 2;//防止整数最大值的溢出问题
if (arr[key] == data)
{
return true;
}
else if (arr[key] > data)
{
//left = key + 1;
right = key - 1;
}
else
{
left = key + 1;
//right = key - 1;
}
}
return false;
}
int main()
{
int arr[9] = {1,5,15,16,18,33,44,74,99};
int data = 4;
if (binary_search(arr, 9, data))
{
printf("find sucess\n");
}
else
{
printf("find failed\n");
}
}