C#实现二分查找算法

news/2025/2/13 0:42:57/

 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.ppmy.cn/news/1381362.html

相关文章

Redis进阶(三):主从复制

为了解决单点问题&#xff0c;实现多服务器部署redis&#xff0c;有几种解决方案可以实现&#xff1a;主从复制&#xff0c;主从哨兵还有集群。 何为主从复制 简单来说有三个服务器分别部署了redis-server程序&#xff0c;选中一个服务器当作主节点&#xff0c;其他的就是从节…

Mybatis多表映射总结

1. 多表映射优化 setting属性属性含义可选值默认值autoMappingBehavior指定 MyBatis 应如何自动映射列到字段或属性。 NONE 表示关闭自动映射&#xff1b;PARTIAL 只会自动映射没有定义嵌套结果映射的字段。 FULL 会自动映射任何复杂的结果集&#xff08;无论是否嵌套&#xf…

字节一面:TCP 和 UDP 可以使用同一个端口吗?

数据包是计算机网络通信的核心&#xff0c;包含头部和数据负载。TCP和UDP协议在传输层使用端口号区分服务和应用。操作系统通过IP头部中的协议字段和端口号来管理网络流量&#xff0c;确保TCP和UDP流量即使共用端口号也不会相互干扰。 在现代计算机网络中&#xff0c;数据传输…

基于SpringBoot的“实习管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“实习管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 学生注册界面图 后台登录界面图 …

Python 单元测试

本篇为Python的单元测试的方法及示例 目录 概念 结果 示例 对函数进行测试 创建函数文件 创建测试文件 测试结果 对类进行测试 创建待测试类 创建测试文件 文档测试 创建函数 进行测试 总结 概念 用来对一个函数、一个类或者一个模块来进行正确性校验工作 结果 …

【洛谷 P8781】[蓝桥杯 2022 省 B] 修剪灌木 题解(数学)

[蓝桥杯 2022 省 B] 修剪灌木 题目描述 爱丽丝要完成一项修剪灌木的工作。 有 N N N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌木&#xff0c;让灌木的高度变为 0 0 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始&#xff0c;每天向右修剪一棵灌木…

2024年PHP伪协议详解

【2024年PHP伪协议详解】 嘿&#xff0c;亲爱的编程新手们&#xff01;今天我们要一起探索PHP伪协议的奇妙世界。想象一下&#xff0c;PHP伪协议就像是一个神秘的传送门&#xff0c;能让我们在PHP的海洋中畅游无阻。准备好了吗&#xff1f;让我们开始这段冒险之旅吧&#xff01…

Install kali Linux(20240313)

内容&#xff1a;如题。 操作&#xff1a;分两步骤完成。 第一步、登录官网下载软件包/镜像包 Get Kali | Kali Linux 我期望选择使用虚拟机/U盘/容器的镜像包文件&#xff1a; 以virtual machines为例&#xff0c;进入页面 点击下载使用VMware版本的&#xff0c;2.9G&…