当前位置: 首页 > news >正文

二分查找(c语言)

二分查找

  • 一.什么是二分查找
  • 二.代码实现

一.什么是二分查找

在⼀个升序的数组中查找制定的数字n,很容易想到的⽅法就是遍历数组,但是这种⽅法效率⽐较低,
⽐如我买了⼀双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让
你猜,你会怎么猜?你会1,2,3,4…这样猜吗?显然很慢;⼀般你都会猜中间数字,⽐如:150,然
后看⼤了还是⼩了,这就是⼆分查找,也叫折半查找。

二.代码实现


int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int left = 0;int right = sizeof(arr) / sizeof(arr[0]) - 1;int key = 0;scanf("%d", &key);int mid = 0;int find = 0;while (left <= right){mid = (left + right) / 2;if (arr[mid] > key){right = mid - 1;}else if (arr[mid] < key){left = mid + 1;}else{find = 1;break;}}if (1 == find)printf("找到了,下标是%d\n", mid);elseprintf("找不到\n");
}

运行结果:
在这里插入图片描述

相关文章:

二分查找(c语言)

二分查找 一.什么是二分查找二.代码实现 一.什么是二分查找 在⼀个升序的数组中查找制定的数字n&#xff0c;很容易想到的⽅法就是遍历数组&#xff0c;但是这种⽅法效率⽐较低&#xff0c; ⽐如我买了⼀双鞋&#xff0c;你好奇问我多少钱&#xff0c;我说不超过300元。你还是好…...

【记录31】elementUI el-tree 虚线、右键、拖拽

父组件 <eltree :treeData"treeData"></eltree>import eltree from "../../components/tree.vue"; export default {name: ,components: { // org_tree ,eltree},watch: {},data() {return {orgFormchoose: {},orgForm: { type: 0, limits: 1…...

【C++】函数重载

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;函数重载的定义 &#x1f4cc;函数重载的三种类型 &#x1f38f;参数个数不同 &#x1f38f;参数类型不同 &#x1f38f;参数类型顺序不同 &#x1f4cc;重载…...

【深度学习模型】6_3 语言模型数据集

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 6.3 语言模型数据集&#xff08;周杰伦专辑歌词&#xff09; 本节将介绍如何预处理一个语言模型数据集&#xff0c;并将其转换成字符级…...

技术选型思考:分库分表和分布式DB(TiDB/OceanBase) 的权衡与抉择

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在当今数据爆炸的时代&#xff0c;数据库作为存储和管理数据的核心组件&#xff0c;其性能和扩展性成为了企业关注的重点。随着业…...

React改变数据【案例】

State传统方式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>React Demo</title> <!--…...

ChatGPT Plus 自动扣费失败,如何续订

ChatGPT Plus 自动扣费失败&#xff0c;如何续订 如果您的 ChatGPT Plus 订阅过期或扣费失败&#xff0c;本教程将指导您如何重新订阅。 本周更新 ChatGPT Plus 是一种每月20美元的订阅服务。扣费会自动进行&#xff0c;如果您的账户余额不足&#xff0c;OpenAI 将在一次扣费…...

Rust: Channel 代码示例

在 Rust 中&#xff0c;通道&#xff08;Channel&#xff09;通常使用 std::sync::mpsc&#xff08;多生产者单消费者&#xff09;或 tokio::sync::mpsc&#xff08;在异步编程中&#xff0c;特别是使用 Tokio 运行时&#xff09;来创建。下面是一个使用 std::sync::mpsc 的简单…...

基于华为atlas的unet分割模型探索

Unet模型使用官方基于kaggle Carvana Image Masking Challenge数据集训练的模型。 模型输入为572*572*3&#xff0c;输出为572*572*2。分割目标分别为&#xff0c;0&#xff1a;背景&#xff0c;1&#xff1a;汽车。 Pytorch的pth模型转化onnx模型&#xff1a; import torchf…...

机器学习--循环神经网络(RNN)1

一、简介 循环神经网络&#xff08;Recurrent Neural Network&#xff09;是深度学习领域中一种非常经典的网络结构&#xff0c;在现实生活中有着广泛的应用。以槽填充&#xff08;slot filling&#xff09;为例&#xff0c;如下图所示&#xff0c;假设订票系统听到用户说&…...

基于java+springboot+vue实现的学生信息管理系统(文末源码+Lw+ppt)23-54

摘 要 人类现已进入21世纪&#xff0c;科技日新月异&#xff0c;经济、信息等方面都取得了长足的进步&#xff0c;特别是信息网络技术的飞速发展&#xff0c;对政治、经济、军事、文化等方面都产生了很大的影响。 利用计算机网络的便利&#xff0c;开发一套基于java的大学生…...

【漏洞复现】Linksys E2000 position.js 身份验证绕过漏洞(CVE-2024-27497)

0x01 产品简介 Linksys E2000是一款由思科&#xff08;Cisco&#xff09;品牌推出的无线路由器&#xff0c;它是一款支持2.4GHz和5GHz双频段的无线路由器&#xff0c;用户可以避开拥挤的2.4GHz频段&#xff0c;独自享受5GHz频段的高速无线生活。 0x02 漏洞概述 Linksys E200…...

小白跟做江科大51单片机之DS1302可调时钟

原理部分 1.DS1302可调时钟介绍 单片机定时器主要占用CPU时间&#xff0c;掉电不能继续运行 图1 2.原理 图2 内部有寄存器&#xff0c;寄存的时候以时分秒寄存&#xff0c;以通信协议实现数据交互&#xff0c;就可以实现对数据进行访问和读写 3.主要寄存器定义 CE芯片使能…...

2024蓝桥杯每日一题(归并排序)

一、第一题&#xff1a;火柴排队 解题思路&#xff1a;归并排序 重点在于想清楚是对哪个数组进行归并排序求逆序对 【Python程序代码】 from math import * n int(input()) a list(map(int,input().split())) b list(map(int,input().split())) na,nb [],[] for …...

生成对抗网络 (GAN)

生成对抗网络&#xff08;Generative Adversarial Networks&#xff0c;GAN&#xff09;是由Ian Goodfellow等人在2014年提出的一种深度学习模型。GAN由两部分组成&#xff1a;一个生成器&#xff08;Generator&#xff09;和一个判别器&#xff08;Discriminator&#xff09;&…...

QGridLayout网格布局和QVBoxLayout垂直布局有着非常大的差别

QGridLayout网格布局&#xff1a;1.把这块控件划分成一个个的 单元格 2.把你的控件填充进入 单元格 3.这些有关限制大小的函数接口统统失效 setMaximumWidth&#xff08;&#xff09; setMinimumWidth() setPolicySize()图示&#xff1a;我是用的网格布局&#xff0c;左边放QT…...

HCIA-HarmonyOS设备开发认证V2.0-习题2

目录 习题一习题二坚持就有收获 习题一 # 判断题## 1.PWM占空比指的是低电平时间占周期时间的百分比。(错误)正确(True)错误(False)解题&#xff1a; - PWM占空比指的是高电平时间占周期时间的百分比## 2.UART是通用异步收发传输器&#xff0c;是通用串行数据总线&#xff0c;…...

【npm】前端工程项目配置文件package.json详解

简言 详细介绍了package.json中每个字段的作用。 package.json 本文档将为您介绍 package.json 文件的所有要求。它必须是实际的 JSON&#xff0c;而不仅仅是 JavaScript 对象文字。 如果你要发布你的项目&#xff0c;这是一个特别重要的文件&#xff0c;其中name和version是…...

Python快速入门系列-2(Python的安装与环境设置)

第二章&#xff1a;Python的安装与环境设置 2.1 Python的下载与安装2.1.1 访问Python官网2.1.2 安装Python对于Windows用户对于macOS用户对于Linux用户 2.2 集成开发环境&#xff08;IDE&#xff09;的选择与设置2.2.1 PyCharm2.2.2 Visual Studio Code2.2.3 Jupyter Notebook2…...

Linux的环境安装以及项目部署

LInux软件安装 是在发行版是CentOS下安装 通常使用yum安装,可以在rpm上增加了自动解决依赖的功能 传输安装包方式安装JDK与tomcat 安装JDK ●安装包&#xff1a;将.gz文件通过Xftp传输到/opt目录下准备安装 ●解压&#xff1a;进入/opt目录,使用命令tar -zxvf 压缩包名称 (名称…...

MetaboAnalystR 4.0:从LC-MS原始数据到生物学洞察的完整解决方案

MetaboAnalystR 4.0&#xff1a;从LC-MS原始数据到生物学洞察的完整解决方案 【免费下载链接】MetaboAnalystR R package for MetaboAnalyst 项目地址: https://gitcode.com/gh_mirrors/me/MetaboAnalystR 代谢组学数据分析从未如此简单高效&#xff01;MetaboAnalystR …...

如何用imFile下载工具提升你的下载效率:开源下载工具的完整使用秘籍

如何用imFile下载工具提升你的下载效率&#xff1a;开源下载工具的完整使用秘籍 【免费下载链接】imfile-desktop A full-featured download manager. 项目地址: https://gitcode.com/gh_mirrors/im/imfile-desktop 还在为下载速度慢、文件管理混乱而烦恼吗&#xff1f;…...

GLM-4V-9B新手避坑指南:环境配置与模型加载的注意事项

GLM-4V-9B新手避坑指南&#xff1a;环境配置与模型加载的注意事项 1. 环境准备与硬件要求 1.1 硬件配置建议 GLM-4V-9B作为90亿参数的多模态模型&#xff0c;对硬件资源有特定要求&#xff1a; 显存需求&#xff1a; FP16精度&#xff1a;至少需要18GB显存INT4量化&#xff…...

I2C RTL设计避坑指南:从寄存器定义到PAD实现的5个常见错误

I2C RTL设计避坑指南&#xff1a;从寄存器定义到PAD实现的5个常见错误 在嵌入式系统和芯片设计中&#xff0c;I2C总线因其简单性和灵活性而广受欢迎。然而&#xff0c;正是这种表面上的简单性&#xff0c;往往让工程师在RTL实现时掉以轻心。本文将深入剖析五个最常见的I2C控制器…...

TMS320F280049C DAC配置避坑指南:从‘官方例程跑不通’到稳定输出0-3.3V全攻略

TMS320F280049C DAC实战配置&#xff1a;从寄存器操作到精准电压输出的工程实践 在嵌入式系统开发中&#xff0c;数字模拟转换器(DAC)是将数字信号转换为模拟电压的关键外设。对于C2000系列微控制器的新手开发者来说&#xff0c;TMS320F280049C的DAC模块配置常常成为第一个&quo…...

RTX 4090显卡性能释放:造相-Z-Image文生图引擎速度与画质双评测

RTX 4090显卡性能释放&#xff1a;造相-Z-Image文生图引擎速度与画质双评测 1. 为什么RTX 4090需要专属文生图方案&#xff1f; 当大多数AI绘画工具还在追求"能跑就行"时&#xff0c;高端显卡用户已经面临新的困境。RTX 4090作为消费级显卡的旗舰产品&#xff0c;其…...

从零到一:在Win10与Visual Studio 2022中部署OpenCV 4.8.0全攻略

1. 环境准备&#xff1a;下载与安装OpenCV 4.8.0 OpenCV作为计算机视觉领域的瑞士军刀&#xff0c;安装过程其实比你想象中简单。我最近刚在Win10上配过最新版4.8.0&#xff0c;实测比旧版本更稳定。首先打开OpenCV官网&#xff08;直接搜"OpenCV GitHub"第一个就是&…...

仅限首批200家企业的文档同步治理沙盒计划启动:含VS Code插件、Git Hook拦截器及审计看板(限免至Q3末)

第一章&#xff1a;智能代码生成与代码文档同步 2026奇点智能技术大会(https://ml-summit.org) 现代开发工作流中&#xff0c;代码与文档的割裂已成为显著瓶颈&#xff1a;函数逻辑更新后&#xff0c;注释常被遗忘&#xff0c;API 文档滞后数日甚至数周&#xff0c;新成员需反…...

Nanbeige 4.1-3B WebUI实战案例:集成Stable Diffusion生成图文回复

Nanbeige 4.1-3B WebUI实战案例&#xff1a;集成Stable Diffusion生成图文回复 今天我们来聊聊一个特别有意思的项目——如何把一个原本只能聊天的AI助手&#xff0c;变成一个能说会画的“全能选手”。想象一下&#xff0c;你和AI聊天时&#xff0c;不仅能得到文字回复&#x…...

深度学习篇---矩阵的魔法

我们可以把乘以特殊矩阵想象成对一张图片或一个图形施加“魔法指令”——这些指令藏在矩阵里&#xff0c;乘上坐标向量后&#xff0c;图形就会按我们想要的方式变形。下面我会从二维平面&#xff08;2D&#xff09;开始介绍&#xff0c;最后提一下三维&#xff08;3D&#xff0…...