/*
020/4/6
二分查找
*/
#include<stdio.h>
/*
二分查找:找到元素时返回元素下标,未找到时返回-1
*/
int binary_search(int A[],int n,int x)
{
int low,mid,high;
low = 0;
high = n-1;
while(low <= high)
{
mid = (low + high)/2;
if(A[mid] == x)
return mid;
else if(A[mid] < x)
low = mid + 1;
else
high = mid-1;
}
return -1;
}
int main()
{
int A[10] = {0,1,2,3,4,5,6,7,8,9};
int index = binary_search(A,10,8);
if(index != -1)
printf("%d\n",index);
return 0;
}
/*
4 7 8
8
*/
查找算法 二分查找
猜你喜欢
转载自blog.csdn.net/qq_34686440/article/details/105339116
今日推荐
周排行