#include<stdio.h>
int Halfsearch(const int *arr,const int len,const int key)
{
int now=-1;
if (arr == NULL)
{
return now;
}
int left=0,right=len-1;
while(left<=right)
{
int mid=(left+right)/2;
if(arr[mid]==key)
{
now=mid;
break;
}
else if(arr[mid]>key)
{
right = mid - 1;
}
else
{
left = mid + 1;
}
}
return now;
}
int main()
{ int key;
int arr[]={12,23,45,56,78,89,98,99};
int len=sizeof(arr)/sizeof(arr[0]);
printf("请输入你要查找的数:");
scanf("%d",&key);
int now=Halfsearch(arr,len,key);
printf("你要查找的数是第%d位",now+1);
}
折半查找
最新推荐文章于 2022-09-26 16:35:56 发布