#include "stdafx.h"
#include<iostream>
using namespace std;
int BinarySearch(int *a,int x);
int main()
{
int a[17] = {1,5,7,8,9,12,15,20,32,50,78,95,101,120,130,135};
int x = 15;
int result = BinarySearch(a,x);
if (result == -1) {
std::cout<<"这数字不在此数组中"<< std::endl;
}
else {
std::cout << "数字下标为:" <<result<< std::endl;
}
return 0;
}
int BinarySearch(int *a,int x)
{
int first = 0;
int end = 16;
while (first<end)
{
int mid = (first + end) / 2;
if (a[mid] != x)
{
if (a[mid] > x)
{
end = mid - 1;
}
else
{
first = mid + 1;
}
}
else
{
return mid;
}
}
return -1;
}