(C语言)二分查找

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

代码实现,

执行结果:

当然要找的数也可以外部输入,进行更自由的寻找。

代码自取学习

*******************************************************************

#include <stdio.h>
//二分查找,前提是有序数组
int main()
{
    int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
    int k = 8;
    int r = sizeof(arr) / sizeof(arr[0]) - 1;
    int l = 0;
    int flag = 1;
    while (l <= r)
    {
        int mid = l + (r - l) / 2;
        if (arr[mid] < k)
        {
            l = mid + 1;
        }
        else if (arr[mid] > k)
        {
            r = mid - 1;
        }
        else
        {
            printf("找到了,下标是%d\n", mid);
            flag = 0;
            break;
        }
    }
    if (flag)
    {
        printf("没找到");
    }
    return 0;
}

*******************************************************************************

感谢观看,感谢指正。

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

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

相关文章

【电路笔记】-RC网络-RC积分器

RC积分器 文章目录 RC积分器1、概述2、RC积分器3、电容电压4、单脉冲 RC 积分器5、RC积分器示例6、RC 积分器作为正弦波发生器7、总结RC 积分器是一个串联的 RC 网络,可产生与积分的数学过程相对应的输出信号。 1、概述 对于无源 RC 积分器电路,输入连接到电阻,而输出电压取…

GCN 翻译 - 1

ABSTRACT 我们提出了一种可扩展的在以图结构为基础的数据上的半监督学习&#xff0c;这种方法直接作用在图数据上&#xff0c;可以看做是卷积神经网络的变种。我们选择了图谱理论里面的一阶近似作为我们的卷积结构。我们的模型能够随着图的规模线性伸缩&#xff0c;并且隐藏层…

数组中只出现一次的两个数字

数组中只出现一次的两个数字 背景题目描述题解 背景 刷到此题的时候&#xff0c;只写出了最普通的解法&#xff0c;最后看了二进制解法&#xff0c;叹为观止&#xff0c;不禁感叹到它的巧妙&#xff0c;因此记录一下,共勉。 题目描述 牛客地址&#xff1a; https://www.nowc…

【生态适配】亚信安慧AntDB数据库与FT-2000+/64处理器完成兼容互认

日前&#xff0c;亚信安慧AntDB数据库完成了与FT-2000/64处理器的兼容互认。经湖南亚信安慧科技有限公司&#xff08;简称“亚信安慧”&#xff09;与飞腾信息技术有限公司&#xff08;简称“飞腾公司”&#xff09;的严格测试&#xff0c;亚信安慧AntDB数据库V6.2在FT-2000/64…

Android Activity启动模式详解

在Android开发中&#xff0c;Activity的启动模式对于应用程序的行为和用户体验至关重要。Android提供了五种不同的启动模式&#xff0c;它们分别是&#xff1a;standard、singleTop、singleTask、singleInstance和singleInstancePerTask。每种启动模式都有其特定的行为和用途。…

备战蓝桥杯————前缀和数组1

一、基本概念 定义&#xff1a;前缀和数组&#xff08;Prefix Sum Array&#xff09;是一个数组&#xff0c;它存储了原数组&#xff08;或序列&#xff09;的连续子数组之和。对于一个给定的数组 nums&#xff0c;其前缀和数组 cumulativeSum 的第 i 个元素 cumulativeSum[…

【前端素材】推荐优质在线家具电商网页Hurst平台模板(附源码)

一、需求分析 1、系统定义 家具电商平台是指专门销售家具产品的在线电子商务平台。这些平台专注于家具类商品的销售和服务&#xff0c;为消费者提供方便快捷的购买体验。 2、功能需求 在线家具商城平台是指通过互联网提供家具购买服务的电子商务平台。这类平台为消费者和家…

基于ESP32的MicroPython项目量产烧写指南

背景 前段时间用MicroPython开发了一个项目&#xff0c;硬件是ESP32-C3&#xff0c;目前准备量产&#xff0c;我需要提供固件以供加工厂批量烧录&#xff0c;需要把我有程序的板子里的程序读出来&#xff0c;然后下到别的板子上&#xff0c;以下做这件事情的过程记录。 1.固件…

专利实缴评估

专利实缴评估通常是指在企业进行注册资本实缴时&#xff0c;将专利权作为出资的形式&#xff0c;需要对专利权的价值进行评估&#xff0c;以确定其作为注册资本的数额。 这项评估过程主要涉及以下几个步骤&#xff1a; 1.专利权确认&#xff1a; 首先&#xff0c;需要明确待评…

专利转让具体怎么做

专利转让是指专利权人将自己的专利权全部或部分转移给他人的法律行为。在中国&#xff0c;专利转让的流程一般包括以下几个步骤&#xff1a; 1.签订转让合同&#xff1a;•专利权人&#xff08;转让方&#xff09;与受让人协商一致后&#xff0c;需签订书面的专利权转让合同。…

3_相机模型

相机标定对于联系相机测量和真实三维世界测量也很重要。它的重要性在于场景不仅仅是三维的&#xff0c;也是物理单位度量的空间。因此&#xff0c;确定相机的自然单位(像素)与物理单位(如mm)的关系是三维场景重构的重要部分。相机标定的过程既给出相机的几何模型又给出透镜的畸…

电感器在电路中的作用

同学们大家好&#xff0c;今天我们继续学习杨欣的《电子设计从零开始》&#xff0c;这本书从基本原理出发&#xff0c;知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例&#xff0c;可以说是全面系统地介绍了电子设计所需的知识…

pause、alarm、kill——进程——day13

今天主要讲线程中信号的三个函数 1.pause 1.pauseint pause(void); 功能:让进程睡眠,直到接收到信号(捕捉)才能继续向下执行eg&#xff1a; #include "head.h"void handler(int signo) {return; }int main(void) {signal(SIGINT,handler);printf("pause up!\…

学习大语言模型(LLM),从这里开始

在见识了ChatGPT的各种强大能力后&#xff0c;不少 NLP一线从业人员很自然地想到&#xff0c;以后开发者只要借助 ChatGPT&#xff0c;就可以做到现在大部分NLP工程师在做的事&#xff0c;比如文本分类、实体抽取、文本推理等。甚至随着大语言模型&#xff08;largelanguagemod…

2 开源鸿蒙OpenHarmony4.1源码下载和编译流程

开源鸿蒙OpenHarmony源码下载和编译流程 作者将狼才鲸日期2024-02-29 前景提要&#xff1a; 确定你要编译哪一块开发板&#xff1a; 我选择qemu_mini_system_demo 这个板子编译形态整体说明&#xff0c;含QEMU&#xff0c;可以编译哪些开发板和芯片qemu模拟器 arm核 mini轻…

Keepalived 双机热备基础知识

7.1 Keepalived 双机热备基础知识 Keepalived起初是专门针对LVS设计的一款强大的辅助工具&#xff0c;主要用来提供故障切换(Failover) 和健康检查査(Health Checking)功能一一判断LVS 负载调度器、节点服务器的可用性&#xff0c;及时隔离并替 换为新的服务器&#xff0c;当故…

Container killed on request. Exit code is 143

Bug信息 WARN YarnAllocator: Container marked as failed: container_e33_1480922439133_0845_02_000002 on host: hdp4. Exit status: 143. Diagnostics: Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 Killed by externa…

day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)

文章目录 1. 前端接入登录1.1 修改前端代码1.2 跨域请求1.2.1 跨域请求简介1.2.2 COSR概述CORS简介CORS原理 1.2.3 CORS解决跨域 2. 异常处理2.1 提示空消息分析2.2 系统异常分类2.3 异常处理2.2.1 方案一2.2.2 方案二 3. 图片验证码3.1 图片验证码意义3.2 实现思路3.3 后端接口…

java找工作之JavaWeb(一)

JavaWeb 一个web应用有多部份组成&#xff08;静态web&#xff0c;动态web&#xff09; html&#xff0c;css&#xff0c;jsjsp&#xff0c;servletjava程序jar包配置文件(Properties) web应用程序编写完毕后&#xff0c;若想提供给外界访问&#xff0c;需要一个服务器来统一…

【IC验证】数据类型

一、思维导图 二、代码 &#xff08;1&#xff09;字符串 字符串的结尾不带空标识符null&#xff0c;\0。是动态存储方式&#xff0c;因此不用担心存储空间被用完。 编辑.SV文件使用 gvim 文件名 运行仿真使用 vcs -sverilog -full64 string_type.sv 和./simv命令如果是字…