#include <stdio.h>
/**
*
* @param arr 数组必须是有序的
* @param len 数组的长度
* @param tagger 要查找的数据
* @return 要查找的数据的下标,没有就返加-1
*/
int binarySearch(int arr[], int len, int tagger)
{
int L = 0, R = len - 1;
int mid;
while (L <= R)
{
mid = (L + R) / 2;
if (arr[mid] == tagger)
return mid;
if (arr[mid] < tagger)
L = mid + 1;
else
R = mid - 1;
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int i = binarySearch(arr, 10, 4);
printf("index = %d\n", i);
printf("value = %d\n", arr[i]);
return 0;
}