C#实现二分查找算法

 C#实现二分查找算法

以下是一个使用 C# 实现的二分查找算法示例:

using System;class Program
{static int BinarySearch(int[] arr, int target){int low = 0;int high = arr.Length - 1;while (low <= high){int mid = (low + high) / 2;// 如果目标值等于中间元素,则返回索引if (arr[mid] == target){return mid;}// 如果目标值小于中间元素,则在左半部分继续查找else if (arr[mid] > target){high = mid - 1;}// 如果目标值大于中间元素,则在右半部分继续查找else{low = mid + 1;}}// 如果未找到目标值,则返回 -1return -1;}static void Main(string[] args){int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 };int target = 13;int result = BinarySearch(arr, target);if (result != -1){Console.WriteLine($"目标值 {target} 在数组中的索引为 {result}");}else{Console.WriteLine($"目标值 {target} 不存在于数组中");}}
}

这段代码定义了一个 BinarySearch 方法,该方法接受一个已排序的整数数组 arr 和目标值 target 作为参数,并返回目标值在数组中的索引,如果目标值不存在于数组中,则返回 -1。在 Main 方法中进行了测试。

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

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

相关文章

使用 Array.prototype.with 更新不可变数组

庆祝&#xff1a;此功能现已在所有三个主要浏览器引擎中可用&#xff01; 浏览器最近获得了一种新的可互操作方法&#xff0c;您可以在数组上调用它&#xff1a;Array.prototype.with() 。 Browser Support 浏览器支持&#xff1a; chrome 110Edge 110firefox 115Safari 16 …

doris安装(docker方式)

背景 doris有两个进程 fe,处理用户请求,查询,元数据管理,节点管理be,数据存储,查询计划执行 架构图如下: 参考:https://doris.apache.org/zh-CN/docs/get-starting/what-is-apache-doris 1、定义docker-compose文件 version: 3 services:docker-fe:image: "apac…

MySQL数据库自动备份(Linux操作系统)

方式一 参考&#xff1a;https://blog.csdn.net/qq_48157004/article/details/126683610?spm1001.2014.3001.5506 1.MySQL备份脚本 在/home/backups/下建立.sh文件&#xff0c;文件名称 mysql_backup.sh ,内容如下 #!/bin/bash #备份路径 BACKUP/home/backups/mysqlBackup…

Python实战:元组一次性数据的处理利器

Python元组是一种不可变的序列类型&#xff0c;非常适合用于存储不应该被修改的数据。本文将深入探讨Python元组在处理一次性数据方面的优势和应用场景&#xff0c;包括元组的定义、操作、函数和方法&#xff0c;以及如何利用元组提高代码的可读性和性能。 1. Python元组简介 …

快手,得物,蓝月亮,蓝禾,奇安信,三七互娱,顺丰,康冠科技,金证科技24春招内推

快手&#xff0c;得物&#xff0c;蓝月亮&#xff0c;蓝禾&#xff0c;奇安信&#xff0c;三七互娱&#xff0c;顺丰&#xff0c;康冠科技&#xff0c;金证科技24春招内推 ①得物 【岗位】技术&#xff0c;设计&#xff0c;供应链&#xff0c;风控&#xff0c;产品&#xff0c;…

参考线平滑 - FemPosDeviation算法

FemPosDeviation参考线平滑方法是离散点平滑方法 参考文章&#xff1a; &#xff08;1&#xff09;参考线平滑-FemPosDeviation-OSQP &#xff08;2&#xff09;Planning基础库——散点曲线平滑 &#xff08;3&#xff09;参考线平滑-FemPosDeviation-SQP &#xff08;4&#x…

ICCV 2023 | NeRF-Det

NeRF-Det: Learning Geometry-Aware Volumetric Representation for Multi-View 3D Object Detection 介绍 本文介绍了一种新颖的方法&#xff0c;用于仅使用RGB图像作为输入进行室内3D目标检测。作者提出了利用神经辐射场&#xff08;NeRF&#xff09;来显式估计3D几何形状&…

C# 协程的使用

C# 中的协程是通过使用 yield 关键字来实现的&#xff0c;它们允许在方法的执行中暂停和继续。协程通常用于处理异步操作、迭代和状态机等情况。以下是关于C#协程的介绍、使用场景以及优缺点的概述&#xff1a; 介绍&#xff1a; 在 C# 中&#xff0c;协程是通过使用 yield 语…

OCP Java17 SE Developers 复习题09

答案 A, E. For the first scenario, the answer needs to implement List because the scenario allows duplicates, narrowing it down to options A and D. Option A is a better answer than option D because LinkedList is both a List and a Queue, and you just nee…

动态规划 Leetcode 96 不同的二叉搜索树

不同的二叉搜索树 Leetcode 96 学习记录自代码随想录 要点&#xff1a;1.递推公式&#xff0c;想到以根节点数字不同作为分类条件求和得到dp[i]&#xff1b; class Solution { public:int numTrees(int n) {if(n 1 || n 2) return n;// 1.dp[i]返回输入i时的满足条件的二…

代码随想录 贪心算法-难度题目-其他题目

目录 53.最大子数组和 134.加油站 968.监控二叉树 53.最大子数组和 53. 最大子数组和 中等 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个…

git提交代码描述时如何换行(更新时间24/3/12)

问题复现&#xff08;信心满满使用转义字符换行&#xff09; 解决方法&#xff1a; 写多个-m字符串的结构可以实现自动换行 注意空格 git commit -m"第一行描述" -m"第二行描述" 效果演示&#xff1a;&#xff08;强迫症福利&#xff09;

大语言模型(LLM) RAG概念

RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种用于自然语言处理的模型架构&#xff0c;特别是针对生成式任务。RAG模型结合了检索和生成两种方法&#xff0c;以提高生成式任务的性能。它将信息检索&#xff08;Retrieval&#xff09;和文本生成&#xff08…

网络学习:BGP路径属性分类

目录 前言&#xff1a; 路径属性分类 公认必遵 公认任意 可选过渡 可选非过渡 前言&#xff1a; 在默认情况下&#xff0c;到达同一目的地&#xff0c;BGP只走单条路径&#xff0c;并不会在多条路径之间执行负载均衡。对于IGP路由协议&#xff0c;当有多条路径可以到达同…

代码编写规范

一、程序风格的探讨 1、代码编写规范 按照阿里巴巴《Java开发手册》编码规约进行约束自己的编码风格。严格要求自己。 2、复杂逻辑编写 拆分功能&#xff1a;befHandler() aftHandler()等 按照步骤拆分&#xff1a;step1Task() step2Task() step3Task()等 只遵守法律…

dangzero环境配置问题

文章目录 安装虚拟机dangzeroCompile the KML kernelObtain Ubuntu 20.04Create VMInstall UbuntuRun UbuntuMove KML kernel to VMInside VM: Install KernelUpdate grub to auto-select KML kernelBoot parametersRun KMLTest KMLObtain glibc-2.31Install gcc-5 for kernel …

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记10 - STM32的SDIO学习2 - Card Identification

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记10 - STM32的SDIO学习2 - Card Identification 一、问题回顾二、本次的任务三、 需要注意的问题3.1 Card Identification Mode时的时钟频率3.2 CMD0指令的疑似问题3.3 发送带参数的ACMD41时要注意时间时序和时效3.4 CPSM的指令发送问题…

【Linux】深入探索:Linux网络调试、追踪与优化

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 1. 调试网络问题 a. 使用ping和traceroute b. 使用netstat和ss c. 使用tcpdump和Wireshark 2. 追踪网络问题 a. 使用mtr b.…

北京公司注册地址想要迁到新疆该如何操作

尊敬的客户&#xff0c;您好&#xff01;我是经典世纪胡云帅&#xff08;游览器搜经典世纪胡云帅&#xff09;&#xff0c;您选择了北京经典世纪集团有限公司-资 质代办&#xff0c;我们将竭诚为您服务&#xff01;如果您的公司注册地址想要迁到新疆&#xff0c;这里有一些重要…

markdown(详细)快速入门

# markdown - 更简洁、更高效 很多人只把markdown用于网络文章发表&#xff0c;这糟蹋了markdown。 markdown不止是HTML的简化版&#xff0c;更重要的是txt的升级版、word的轻量版、笔记的最佳载体。 作为一种简单的格式标记语言&#xff0c;不同于txt的无格式&#xff0c;不…