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

二分查找法 C#实现

复习二分查找法。


public int FindPosition(int num, int[] arr)
        {
            int left = 0;
            int right = arr.Length - 1;


            while (left < right - 1)
            {
                if (arr[left] == num)
                {
                    return left;
                }
                if (arr[right] == num)
                {
                    return right;
                }


                int middle = (left + right) / 2;
                if (num == arr[middle])
                {
                    return middle;
                }
                else if (num < arr[middle])
                {
                    right = middle;
                }
                else
                {
                    left = middle;
                }


            }
            return -1;
        }


相关文章:

  • 清华申请退学博士作品:完全用Linux工作
  • C# 压缩和解压缩(Gzip和Zip的方式)
  • Jsp联接Access数据库文件的方法
  • 中国教育“绞肉机”
  • 在指定范围内 生成随机序列算法(可用于洗牌算法)
  • 不用‘/’ 实现除法运算
  • HTML5中的 querySelector
  • js中json的序列化和反序列化
  • 娱乐:输出π的前781位
  • Windows编程模型与API调用示例
  • UltraWebGrid禁止编辑单元格
  • winApi一日一练之 SetTextColor (和Textout)函数
  • 网页自动满屏
  • winApi一日一练之 CreateSolidBrush(和FillRect)
  • 非常抱歉,非常感谢——反省与感恩——企业文化不可缺少的两大内核
  • 时间复杂度分析经典问题——最大子序列和
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • C++入门教程(10):for 语句
  • Facebook AccountKit 接入的坑点
  • Git的一些常用操作
  • Less 日常用法
  • markdown编辑器简评
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Sublime text 3 3103 注册码
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • Vultr 教程目录
  • 当SetTimeout遇到了字符串
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 关于 Cirru Editor 存储格式
  • 机器学习学习笔记一
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 类orAPI - 收藏集 - 掘金
  • 前端工程化(Gulp、Webpack)-webpack
  • 数组的操作
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​业务双活的数据切换思路设计(下)
  • #HarmonyOS:基础语法
  • #include
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #在 README.md 中生成项目目录结构
  • (4)(4.6) Triducer
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)WCF的Binding模型
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (五)c52学习之旅-静态数码管
  • (一)基于IDEA的JAVA基础1
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (正则)提取页面里的img标签
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .gitignore文件使用
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始