#include<iostream>
#include<windows.h>
#include<windows.h>
using namespace std;
//二分查找
int binary_search(int array[], int size,int key)
{
int left = 0;
int right = size-1;
while (left<=right)
{
int mid = left + ((right - left) >> 1);
if (key < array[mid])
{
right= mid - 1;
}
else if (key>array[mid])
{
left=mid +1;
}
else
{
return array[mid];
}
if (left>right)
{
return -1;
}
}
}
int main()
{
int array[] = { 1, 3, 5, 7, 9, 11 };
int a = binary_search(array, sizeof(array) / sizeof(int), 9);
//运行结果:9
int a = binary_search(array, sizeof(array) / sizeof(int), 22);
//运行结果:-1
cout << a <<endl;
system("pause");
return 0;
}