提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
二分

文章目录

  • 前言
  • 一、【二分查找】的步骤
  • 二、【二分查找】的注意事项
  • 三、举例详解【二分查找】

前言

一、【二分查找】步骤
二、【二分查找】的注意事项
三、举例详细讲解【二分查找】

一、【二分查找】的步骤

二分查找:又称折半查找。
1、从一个有序的数组的中间元素开始查找,如果找到了查找的数字,就将查找数字的下标返回。
2、如果中间元素比我们要寻找的数字小,那么我们就将右下标换成(中间元素的下标-1)。
3、如果一次没有找到,那么就重复上面的过程。

二、【二分查找】的注意事项

1、必须是有序数组
2、数据类型不能有溢出
3、数据量不可过大

三、举例详解【二分查找】

题目:编写代码在一个整形有序数组中查找具体的某个数
要求:找到了就打印数字所在的下标,找不到则输出:找不到

#include<stdio.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//初始化一个数组int k = 0;//初始化我们要寻找的数字kint sz = sizeof(arr) / sizeof(arr[0]);//计算数组内元素的个数int left = 0;int right = sz-1;//元素的下标是元素的大小-1printf("请输入要查找的数字:");scanf("%d", &k);//输入要查找的数字kwhile (left<=right)//左下标比右下标小循环才有意义,是循环开始的条件{int mid = (left + right) / 2;//定义中间的下标if (k > arr[mid]){left = mid + 1;//如果我们要寻找的元素比中间元素大//就将中间元素换成最左边的元素}else if (k < arr[mid]){right = mid - 1;//如果我们要寻找的元素比中间元素小//就将中间元素换成最右边的元素}else {printf("找到了,下标是:%d\n", mid);//如果我们要寻找的元素等于中间元素//输出中间元素的下标,并退出循环break;}}if (left > right)//当我们全部找一遍以后,没有找到,并且跳出循环,只能输出找不到printf("找不到\n");return 0;
}

如果文章有错误,欢迎私信指正!

C语言【二分查找】详解相关推荐

  1. C语言经典算法之二分查找详解

    作者:敲代码の流川枫 博客主页:流川枫的博客 专栏:C语言从入门到进阶 语录:Stay hungry stay foolish 集接口文档工具.接口Mock工具.接口自动化测试工具.接口调试工具于一体 ...

  2. 二分查找详解——弄懂二分思想的重要性!

    哈喽!这里是一只派大鑫,不是派大星.本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习.更好地让同样热爱编程(或是应付期末考试 狗头.jpg)的大家能够在学习阶段 ...

  3. 【二分查找详解外加递归写法】附有全部代码

    二分查找 二分查找:在有序(升序或降序)的集合上,才能使用二分查找. 二分查找的思路: 在一个有序数组中查找一个数 n,我们可以把 n 与 数组的中间元素(mid)不断的去比较, ​ 若 n < ...

  4. 二分查找详解(Java)

    1.线性查找 在我们了解二分查找之前,我们先来了解线性查找 线性查找的思想: 我们在对数组遍历的时候,通过每个值每个值的判断去实现我们的待查找的值是否存在当前数组中,如果存在就返回当前的索引. 代码实 ...

  5. C语言二分法查找详解

    二分法查找,也称折半法,是一种在有序数组中查找特定元素的搜索算法. 以一个案例来分析,二分法查找的思路如下: (1)首先,确定数组的中间下标mid(这里不用管整不整除,只要比较中间就可以),将mid对 ...

  6. 算法与数据结构 - 二分查找详解,会了吗?

    一.引言 相信很多小伙伴都和朋友做过一个小互动: 今天李雷和韩梅梅一起相约去逛街,期间李雷发现韩梅梅穿了一双限量款的球鞋. 李雷: 韩同学,你这双鞋好漂亮哦,在哪里买的呢? 韩梅梅: 这是我在莆田的网 ...

  7. 【数据结构和算法】动图演示,超详细,就怕你不会,二分查找详解

  8. python语言的格式框架_django框架模板语言使用方法详解

    本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...

  9. 单片机c语言常用的语句有几条,单片机C语言常用语句详解

    <单片机C语言常用语句详解>由会员分享,可在线阅读,更多相关<单片机C语言常用语句详解(22页珍藏版)>请在人人文库网上搜索. 1.C51编程中常见语句的总结.首先,C51定义 ...

  10. R语言which函数详解以及Rcpp改写

    R语言which函数详解以及Rcpp的改写 引言 which 函数的介绍 which函数的一些小例子 1 2 which函数的改进以及时间对比 引言 首先来介绍一下R语言which函数的作用:whic ...

最新文章

  1. 第一个python命令
  2. 免费直播公开课 | 图卷积神经网络, BERT, 对话生成,知识图谱
  3. 华为电视测试软件,华为智慧屏电视安装第三方软件,简单实测可行攻略
  4. 使用mybatis操作AS400数据库
  5. 联想m7400pro清零方法_联想打印机怎么清零 联想打印机清零方法【教程】
  6. 基于GDAL实现的PCA变换(主成分分析)
  7. 【数字图像处理系列三】图像增强:线性、 分段线性、 对数、 反对数、 幂律(伽马)变换、直方图均衡
  8. 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT
  9. 计算机无法安装cad怎么办,安装cad时电脑提示已经安装怎么办 cad无法安装的解决方法...
  10. 致远SPM国资企业解决方案之督查督办管理
  11. USB (十三)2022-04-02
  12. js获取传统节假日_vue js moment.js 过滤了双休日和法定节假日
  13. 绪论--《可以量化的经济学》
  14. 爬虫入门教程-Spider
  15. 【python-Unet】计算机视觉~舌象舌头图片分割~机器学习(三)
  16. 进一步的飞鸽传书官方网站消息
  17. Python连接维特智能角度传感器JY61/JY901的方法
  18. 英国开发者年龄歧视为29岁,女程序员幸福指数略高于男性 | 全球开发者幸福指数报告
  19. 前端常用的几种加密方法
  20. TI | TM4C系列单片机中断配置方法

热门文章

  1. “指尖科技,让梦想照进现实”——智能温室大棚
  2. Clicks can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue -- SIGIR‘21
  3. 如何提取文件名到excel表中
  4. Accclerate使用教程
  5. 微商怎么做如何快速找客源做好微信朋友圈营销
  6. CEAC之《企业信息管理》2
  7. 关于NAT——网络地址转换
  8. Android Include的使用,获取include 里面的控件
  9. 1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。
  10. “快速敲字母”小游戏——C++实现