#include<stdio.h>
int half_find(int *a,int n,int key)
{
int left = 0;
int right = n ;
while (left < right)
{
int mid = (left + right) / 2;
if (a[mid] < key)
{
left = mid + 1;
}
else if (a[mid] > key)
{
right = mid;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int n = sizeof(a) / sizeof(int);
for(int i=0;i<n;++i)
{
printf("%d\n", half_find(a, n,a[i]));
}
return 0;
}
如何使用函数进行二分查找
最新推荐文章于 2022-01-19 14:07:12 发布