#include <iostream>
#include <cstdio>
using namespace std;
int binary_search(int arr[], int k);
int binary_search1(int arr[], int k);
int main()
{
int arr[] = {1,2,3,4,5};
int* arr1 = new int[4]{1,2,3,4};
cout << binary_search(arr, 2) << endl;
cout << binary_search1(arr1, 3) << endl;
}
int binary_search(int arr[], int k)
{
int l = -1, r = 6;
while (l + 1 < r)
{
int m = l + (r - l) / 2;
if (arr[m] == k)
{
return m;
}
else if (arr[m] > k)
{
r = m;
}
else
{
l = m;
}
}
return l + 1;
}
int binary_search1(int arr[], int k)
{
int l = 0, r = 5;
while (l <= r)
{
int m = l + (r - l) / 2;
if (arr[m] == k)
{
return m;
}
else if (arr[m] > k)
{
r = m - 1;
}
else
{
l = m + 1;
}
}
return l;
}
二分模板
最新推荐文章于 2022-08-06 09:42:18 发布