您的位置:首页 > 编程语言 > C语言/C++

折半查找法

2015-10-20 20:22 351 查看
#include <stdio.h>
int half_search(int arr[], int first, int last, int n)
{
int mid = 0;
while (first <= last)
{
mid = (first + last) / 2;
if (n < arr[mid])
{
last = mid - 1;
}
else if (n>arr[mid])
{
first = mid + 1;
}
else
{
return 1;
}
}
return -1;
}
int main()
{
int arr[] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 };
int i;
while (1)
{
scanf("%d", &i);
if ((half_search(arr, 0, sizeof(arr) / sizeof(arr[0]) - 1, i) == -1))
{
printf("not exist\n");
}
else
{
printf("%d\n", i);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言