#include<stdio.h>
int BinSearch(int a[],int n,int x)//数组中元素为递增排列
{
int low,high,mid;
low=0;
high=n-1;
while(low<=high)
{
mid=(low+high)/2;
if(x>a[mid])
{
low=mid+1;
}
else if(x<a[mid])
{
high=mid-1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int i,intSearch,pos;
int a[10]={0,1,2,3,4,5,6,7,8,9};
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
printf("请输入你想查找的数:\n");
scanf("%d",&intSearch);
pos=BinSearch(a,10,intSearch);
if(pos==-1)
printf("在数组中没有找到%d。\n",intSearch);
else
printf("%d在数组中的下表值为%d。\n",intSearch,pos);
return 0;
}
折半查找程序
最新推荐文章于 2023-08-27 23:41:30 发布