#include <stdio.h>
int binserch( int x , int v[] ,int n )
{
int mid;
int left = 0;
int right = n-1;
while( right != left )
{
mid = ( left + right )/2;
if( v[mid] > x )
{
right = mid -1;
}
else if( v[mid] < x )
{
left = mid + 1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9};
int ret = binserch( 5, arr, sizeof(arr)/sizeof(arr[0]));
printf("%d\n",ret);
return 0;
}
折半查找(待改进)
最新推荐文章于 2021-05-18 15:52:05 发布