#include<stdio.h>
#include<stdlib.h>
//二分法查找
int binary_search(int* array,int n,int key)
{
int low=0;
int high=n-1;
int mid;
if(high < low)
return -1;
while(low <= high)
{
mid=low+((high-low)>>1);
if(array[mid] == key){
return mid;
}
else{
if(array[mid] > key)
{
high = mid-1;
}else
{
low = mid+1;
}
}
}
if(low > high)
return -1;
}
int main()
{
int array[]={1,2,3,4,5,6,7,8,9};
int result=binary_search(array,9,6);
if(result==-1)
printf("Not Found!");
else
printf("您所查找的数的标号为:array[%d]\n",result);
return 0;
}
二分法查找
最新推荐文章于 2023-02-11 17:35:44 发布