0
点赞
收藏
分享

微信扫一扫

C语言中的二分查找

西街小学的王 2022-03-11 阅读 40

二分查找算法,也称折半搜索算法或者对数搜索算法

适用条件:有序的数组.

这种算法每次比较都使搜索范围缩小一半.

#include <stdio.h>

int main()
{
     int arr[] = { 1, 3, 5, 6, 8, 9, 10, 18 };//需要查找的数组
     int n = 8;//需要查找的数
     int sz = sizeof(arr) / sizeof(arr[0]);//数组中的元素个数
     int left = 0;//左下标
     int right = sz - 1;
     int mid = (left + right) / 2;//这里需要注意的是,要是mid计算是带有小数的数字最后转化为
     while(left <= right)//进行二分查找需要的条件            //整型,即小数后面的值全部省略          
     {
          if (arr[mid] < n)
          {
               left = mid + 1;
          }
          if (arr[mid] > n)
          {
               right = right - 1;
          }
          else
          {    
              printf("找到这个数了,下标是%d\n", mid);
              break;
           }
     }
     if (left >= right)
         printf("找不到这个数\n");
     return 0;
}
举报

相关推荐

0 条评论