直接贴代码
#include <iostream>
using namespace std;
int Binary_search(int* a, int l, int r, int val)
{
while (l <= r)
{
int mid = (l + r) / 2;
if (a[mid] == val)
return mid;
if (a[mid] > val)
r = mid - 1;
if (a[mid] < val)
l = mid + 1;
}
return -1;
}
int main(int argc, char** argv)
{
int a[5] = { 1,2,3,4,5 };
cout << Binary_search(a, 0, 4, 4);
return 0;
}