[C语言]二分查找

        进行二分查找的前提是在一个有序排列的数组中查找指定元素。

        例如,对一个升序排列的整型数组进行二分查找:

// 二分查找
// 参数1:arr--需要传入一个有序的、按升序排列(从小到大)的整型数组
// 参数2:len--数组的长度(数组的元素个数)
// 参数3:target--要查找的元素// 返回值:返回找到的元素在数组中的下标(索引index),如果没有找到,则返回-1
int binary_search(int *arr, int len, int target)
{int left = 0; // 起始索引int right = len - 1; // 结束索引while (left <= right) // 如果起始索引和结束索引没有重合,继续查找{int mid = (left + right) / 2; // 中间索引,这么写能够防止整型溢出// 也可以写成 int mid = left + (right - left) / 2; // 这两条代码是一样的if (arr[mid] == target){// 如果找到了元素,返回索引return mid;}else if (arr[mid] < target){// 如果当前的中间值小于要查找的目标元素,说明目标可能在右侧,// 需要调整左边界(起始索引)left = mid + 1;}else{// 如果当前的中间值大于要查找的目标元素,说明目标可能在左侧,// 需要调整右边界(结束索引)right = mid - 1;}}// 如果起始索引和结束索引重合了都没有找到目标元素,说明这个元素不在当前数组中,// 返回-1return -1;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统学习Python——装饰器:验证函数的参数案例-[实现细节:函数内省]

分类目录&#xff1a;《系统学习Python》总目录 装饰器的代码依赖于内省API和对参数传递的微妙限制。为了完全地通用&#xff0c;原则上我们可以完整模拟Python的参数匹配逻辑&#xff0c;来看看哪个名称以何种模式传入&#xff0c;但是这对于我们的工具来说太复杂了。如果我们…

VueDraggablePlus 支持 Vue2 和 Vue3 的拖拽组件

官网&#xff1a;https://alfred-skyblue.github.io/vue-draggable-plus/

【大功率汽车大灯升压方案】LED恒流驱动芯片FP7208升压车灯调光应用,PWM内部转模拟,调光深度1%,无频闪顾虑,低亮无抖动

宝马X5前中排座椅宽大舒适&#xff0c;车厢内储物空间丰富。操控性能极佳&#xff0c;底盘稳扎精良。原车为氙气灯&#xff0c;其实宝马的氙气大灯配的比其他车型要好&#xff0c;照明效果是没得说的。但是不管什么灯久了都会出现光衰的情况。下面这辆宝马X5车灯已老化严重。 宝…

14届蓝桥杯省赛 C/C++ B组 T4 飞机降落 (DFS)

记录此题提醒自己&#xff0c;此类时间轴问题可以通过DFS解决 DFS不是能解决所有题吗 对于此题&#xff0c;我们将降落的飞机的个数和时间轴作为DFS的形参&#xff0c;这样可以节省手动回溯的过程。 并且在DFS的过程中我们要加入一些贪心策略&#xff0c;否则直接爆搜有可能搜…

怎么使用jwt,token以及redis进行续期?

怎么使用jwt&#xff0c;token以及redis进行续期&#xff1f; 什么是jwt? 什么是token? 结合 JWT、Token 和 Redis 进行续期的一般步骤&#xff1a; 生成 JWT&#xff1a; 用户登录成功后&#xff0c;服务器生成一个 JWT&#xff0c;并返回给客户端。 import io.jsonwebtok…

云原生周刊:2024 年 K8s 基准报告 | 2024.4.8

开源项目推荐 Argo CD Image Updater Argo CD Image Updater 是一个自动更新 Argo CD 管理的 Kubernetes 工作负载容器镜像的工具。简而言之&#xff0c;它将跟踪 Argo CD 应用程序资源上的注释指定的图像版本&#xff0c;并通过使用 Argo CD API 设置参数覆盖来更新它们。 …

【java】java虚拟机JVM

类加载器&#xff08;Class Loader&#xff09; 负责将类的字节码加载到内存中&#xff0c;并生成相应的 Class 对象。类加载器通常采用委托模型&#xff0c;根据特定的加载规则从不同的位置加载类&#xff0c;如本地文件系统、网络等。 运行时数据区 方法区&#xff08;Met…

张老师语录

1. 写文章要点 &#xff08;1&#xff09;整体文章的必须有题目 &#xff08;2&#xff09;必须要有问题描述 &#xff08;3&#xff09;一个文档中的定义是连续的 &#xff08;4&#xff09;在定义中的一些参数符号&#xff0c;不要直接赋值&#xff0c;而是在实验中进行说明 …

yolov8安全帽检测项目开发(python开发,带有训练模型,可以重新训练,并有Pyqt5界面可视化)

不需要程序&#xff0c;只需要数据集的&#xff0c;想自己搭建模型训练的&#xff0c;可以免费下载&#xff08;积分已经设置为0&#xff09;&#xff1a;https://download.csdn.net/download/qq_40840797/89100918 1.项目介绍&#xff1a;&#xff08;视频运行链接&#xff1…

小米SU7会是年轻人第一台“保时米”吗?

2021年3月30日&#xff0c;小米创始人雷军在公开演讲中宣布造车&#xff0c;称 “小米汽车将是我人生中最后一次重大的创业项目&#xff0c;我愿意押上我人生所有积累的战绩和声誉&#xff0c;为小米汽车而战&#xff01;” 雷军表示未来十年&#xff0c;小米将投入100亿美元造…

AI创业项目--个性化旅游规划助手

一个集合了最新人工智能技术、用户界面友好、并且高度个性化的旅行规划工具。它能够理解并预测用户的偏好和需求&#xff0c;提供量身定制的旅行建议和完整的旅游计划。以下是这个产品可能包含的特点和功能&#xff1a; 用户界面&#xff08;UI&#xff09;和用户体验&#xf…

YOLOV8注意力改进方法:DilateFormer多尺度空洞 Transformer(附改进代码)

原论文地址&#xff1a;原论文下载地址 即插即用的多尺度全局注意力机制 本文提出了一种新颖的多尺度空洞 Transformer&#xff0c;简称DilateFormer&#xff0c;以用于视觉识别任务。原有的 ViT 模型在计算复杂性和感受野大小之间的权衡上存在矛盾。众所周知&#xff0c;ViT…

socket之UDP组播(多播)

组播也可以称之为多播这也是 UDP 的特性之一。组播是主机间一对多的通讯模式&#xff0c;是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址&#xff0c;组播地址不同于单播地址&#xff0c;它并不属于特定某个主机&#xff0c…

测试必备:网站崩溃原因大揭秘!12种常见问题一网打尽

网站崩溃是研发团队最怕看到的情况&#xff0c;但是由于种种原因却时常出现&#xff0c;作为测试人员&#xff0c;我们更应该比一般人了解网站崩溃的原因及排查方法&#xff0c;这是我们测试工作的重要一环。接下来我就谈谈12种常见的网站崩溃原因以及如何跟踪和解决它们。 你的…

【JavaWeb】Day33.MySQL概述

什么是数据库 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 像我们日常访问的电商网站京东&#xff0c;企业内部的管理系统OA、ERP、CRM这类的系统&#xff0c;以及大家每天都会刷的头条、抖音类的app&#xff0c;那这些大家所…

【LangChain学习之旅】—(19)BabyAGI:根据气候变化自动制定鲜花存储策略

【LangChain学习之旅】—(19)BabyAGI:根据气候变化自动制定鲜花存储策略 AutoGPTBaby AGIHuggingGPTLangChain 目前是将基于 CAMEL 框架的代理定义为 Simulation Agents(模拟代理)。这种代理在模拟环境中进行角色扮演,试图模拟特定场景或行为,而不是在真实世界中完成具体…

黑马Seata入门到实战教程(学习笔记)

Seata CAP理论 BASE理论 XA AT TCC sage模式 缺点&#xff1a;数据隔离性安全问题 四种模式对比

智慧乡村建设探索:数字乡村引领农村发展新方向

目录 一、智慧乡村建设的内涵与意义 二、数字乡村的发展现状 三、数字乡村引领农村发展的新方向 &#xff08;一&#xff09;推动农业现代化&#xff0c;提升农业生产效率 &#xff08;二&#xff09;培育农村新业态&#xff0c;促进农村产业升级 &#xff08;三&#xf…

SpringCloud Alibaba @SentinelResource 注解

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第十五篇&#xff0c;即介绍 SpringCloud Alibaba 的 SentinelResource 注解。 二、简介 这个注解用于标…

解析《天道》中丁元英的五步商业运作思路

我国商战题材的电视剧中哪部最为经典&#xff1f;小马识途营销顾问认为那一定是《天道》&#xff0c;《天道》对人物的刻画非常精准&#xff0c;对人性的描写鞭辟入里&#xff0c;看过之后都会被其震撼&#xff0c;因此它不仅是一部电视剧&#xff0c;更是一部可以给人们带来商…