博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分查找算法(C#实现)
阅读量:5153 次
发布时间:2019-06-13

本文共 1104 字,大约阅读时间需要 3 分钟。

想了解这个算法是因为在最近面试的时候看到了二分查找算法的时候懵比了,所以回来就要恶补一下

  那么什么是二分查找算法呢.

    看名称就知道它是一半一半的找的,有点类似快速排序算法

     举个例子就是:有一个数组int[] array=new int[]{1,3,4,5,6,7};我们要找6这个数

      第一次:中间数是4    6比4大,所以下一次需要找4右边的数

      第二次:中间数是6    刚好

我们来看一下C#的实现

public static int fen(int[] array,int low,int high,int key)        {            int middle = (low + high) / 2;            if (low>high)            {                return 1;            }            else            {                if (array[middle]==key)                {                    return middle;                }                else if (array[middle] > key)                {                    return fen(array, low, middle - 1, key);                }                else                {                    return fen(array, middle+1, high, key);                }            }        }
static void Main(string[] args)        {            int[] array = new int[] {
1,2,3,4,5,6,7,8,9,10 }; var t=fen(array, 0, array.Length - 1, 9); Console.WriteLine(t); Console.Read(); }

 

 

转载于:https://www.cnblogs.com/student-note/p/6782205.html

你可能感兴趣的文章
深入Linux grep指令的详解(实用型)
查看>>
嵌入式根文件系统的移植和制作详解
查看>>
javascript Uncaught ReferenceError: 方法名 is not defined
查看>>
Android 学习心得(2)——Android内置数据库SQLite
查看>>
走进AngularJs(二) ng模板中常用指令的使用方式
查看>>
6-sift特征匹配
查看>>
网页编程技术三(H5中表格的用法)
查看>>
UITextView自定义placeholder功能:用一个label写了文字,然后当检测到长度不为0的时候就把label隐藏...
查看>>
MongoDB 插入、更新、删除
查看>>
arc()
查看>>
【leetcode】Majority Element
查看>>
数组的方法之(Array.prototype.reduce() 方法)
查看>>
itchat库微信自动回复祝福语
查看>>
移动端浏览器touch事件的研究总结
查看>>
pandas—总结(2) 数据读写 (更新中)
查看>>
POJ 2096 Collecting Bugs:期望dp
查看>>
绩效成绩
查看>>
JavaScript多继承(转载)
查看>>
需求分析之用例图
查看>>
DIOCP 运作核心探密
查看>>