二分查找的一般实现

二分查找也叫折半查找,即每次查找都折半,使查找的范围每次减半,可使查找的效率大大提高。

具体的实现如下:

# include<stdio.h>
void main()
{
 int arr[]={11,22,33,44,55,66,77,88,99};
 int m,len=sizeof(arr)/sizeof(arr[0]);
 printf("请输入要查找的数:\n");
 scanf("%d",&m);
 int low=0,high=len-1;
 int mid=(low+high)/2;
 int j;
 while(low<=high)
 {
  if(arr[mid]==m)
  {
   j=mid;
   printf("元素已找到,下标为:%d\n",j);
   break;
  }
   else if(arr[mid]<m)
   {
    low=mid+1;
   }
   else if(arr[mid]>m)
   {
    high=mid-1;
   }
 }
 if(low>high)
 {
  printf("不存在该元素\n");
 }
}

猜你喜欢

转载自blog.csdn.net/magic_world_wow/article/details/79156728