#include <stdio.h>
int erfenSearch(int arr[], int len1, int len2, int a) {
while (len1 <= len2) {
int mid = len1 + (len2 - len1) / 2;
if (arr[mid] == a) return mid; // 找到居中的元素
if (arr[mid] < a) len1 = mid + 1; // 在右半部分查找
else len2 = mid - 1; // 在左半部分查找
}
return -1; // 没有找到元素
}
int main() {
int arr[] = {3,6,9,12,14,19,27,35}; // 数组已经按升序排列
int size = sizeof(arr) / sizeof(arr[0]);//得到元素的个数
int a = 27;
int result = erfenSearch(arr, 0, size - 1, a);
if (result != -1)
printf("元素 %d 存在于数组中,索引为 %d。\n", a, result);
else
printf("元素 %d 不存在于数组中。\n", a);
return 0;
}