15,440
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int binary_search(int a[], int n, int key)
{
int low, high, mid;
low = 0;
high = n-1;
while (low <= high)
{
mid = (low + high) / 2;
if (a[mid] < key)
low = mid + 1;
else if (a[mid] > key)
high = mid - 1;
else
return mid;
}
return -1;
}
int main()
{
int location, result, a[] = {0, 1, 16, 24, 35, 47, 59, 62, 73, 88, 99};
printf("请输入待查找的关键字:\n");
scanf("%d\n", location);
result = binary_search(a, 11, location);
if (result < 0)
printf("二分查找的结果: %d\n", result);
else
printf("不存在此数值!");
return 0;
}