更新时间:2022-09-22 08:30:24
1 #include <stdio.h> 2 #define MAX 1000 3 4 //prototypes 5 int BinarySearch(int a[],int high,int low); 6 7 int main() 8 { 9 int x[MAX]={-2,2,4,7,8};//x[i]=i+1; 10 int low=0; 11 int high=4; 12 int result=BinarySearch(x,high,low); 13 printf("%d\n",x[result]); 14 } 15 16 int BinarySearch(int a[],int high,int low) 17 { 18 while(low<=high) 19 { 20 int mid=low+(high-low)/2; 21 if(a[mid]==mid+1) 22 return mid; 23 else if(a[mid]>mid+1) 24 high=mid-1; 25 else 26 low=mid+1; 27 } 28 return -1; 29 }