#include <iostream>
#include <cassert>
using namespace std;
const int N = 10;
int binarySearch(int* arr, int l, int u, int key)
{
while(l <= u)
{
int mid = (l+u) >> 1;
if (arr[mid] == key)
return mid;
else if(arr[mid] > key)
u = mid - 1;
else
l = mid + 1;
}
return -1;
}
int main()
{
int* arr= new int[N];
for(int i = 0; i < N; i++)
arr[i] = i * 10;
for(int i = 0; i < N; i++)
{
assert(binarySearch(arr, 0, N, 10*i) == i);
assert(binarySearch(arr, 0, N, 10*i-5) == -1);
}
assert(binarySearch(arr, 0, N, 10*N) == -1);
assert(binarySearch(arr, 0, N, 10*N-5) == -1);
return 0;
}
二分查找实现
最新推荐文章于 2022-11-23 23:28:15 发布