@chawuciren
2018-10-02T13:12:06.000000Z
字数 627
阅读 669
未分类
#include<stdio.h>
#include<stdlib.h>
int BinSearch(int sorted_arr[],int Len,int key);
int main()
{
int key=1;
int result=1;
int n=1;
int i=0;
printf("请输入数组长度\n");
scanf("%d",&n);
int sorted_arr[n];
printf("请输入数组元素\n");
while(i<n)
{
scanf("%d",&sorted_arr[i]);
i=i+1;
}
printf("输入检索值\n");
scanf("%d",&key);
result=BinSearch(sorted_arr,5,key);
if (result=-1)
{
printf("not found");
}
else
{
print ("%d",result);
}
return 0;
}
int BinSearch(int sorted_arr[],int Len,int key)
{
int low=0;
int high=Len-1;
int mid=-1;
while (low<=high)
{
mid=(low+high)/2;
if (sorted_arr[mid]>key)
{
high=mid-1;
}
if(sorted_arr[mid]<key)
{
low=mid+1;
}
if(sorted_arr[mid]==key)
{
return mid;
}
}
return -1;
}