返回

二分查找,在一个有序的序列中,找某个数据是否在该集合中,如果在打印该数据在集合中的下标,否则打印找不到

发布时间:2023-01-07 00:47:40 361

#define _CRT_SECURE_NO_WARNINGS 1

#include

#include

#include

int main()

{

   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

   

   int k = 7;      //输入需要查找的值

   int sz = sizeof(arr) / sizeof(arr[0]);

   int left = 0;

   int right = sz - 1;

   

   while (left<=right)

   {

       int mid = (right + left) / 2;

       if (arr[mid] > k)

       {

           right = mid - 1;

       }

       else if (arr[mid] < k)

       {

           left = mid + 1;

       }

       else

       {

           printf("找到了下表为:%d\n", mid);

           break;


       }

       

    }

   if (left>right)

   {

       printf("找不到\n");

   }

   

   return 0;

}

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线