#include <stdio.h>
int find_mid(int array[], int n, int input)
{
int low = 0, high = n - 1;
int mid;
if (n < 1)
return -1;
while (low <= high)
{
mid = (low + high) / 2;
if (array[mid] == input)
return mid;
else if (array[mid] > input)
high = mid - 1;
else
low = mid + 1;
}
return -1;
}
int main()
{
int array[10] = {1, 2, 6, 8, 10, 15, 19, 21, 31, 45};
int input, flag;
while (scanf("%d", &input) != EOF)
{
flag = find_mid(array, 10, input);
if (flag < 0)
{
printf("There is no %d.\n", input);
}
else
{
printf("array[%d] = %d.\n", flag, input);
}
}
return 0;
}
折半查找算法的实现
最新推荐文章于 2023-01-15 13:18:04 发布