博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分查找法(递归和非递归算法)
阅读量:5026 次
发布时间:2019-06-12

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

二分查找法(递归算法)

 

///         /// 二分查找法(递归算法)        ///  此算法的前提是arry数组为有序数组。是排好序的。        ///         /// 在哪个数组中查找        /// 要查找 的数        /// 从数组的哪个坐标下始        /// 到数组的哪个坐标结束        public static int a = 0;        public static void bingaryserch1(int[] arry, int number, int star, int end)        {            a++;//记录查询 的次数            if (star > end) { Console.WriteLine("不存在此数。共查询了{0}次", a); return; }            int middle = Convert.ToInt32((star + end) / 2);            if (number == arry[middle]) { Console.WriteLine("存在此数,其下标为:{0}共查询了{1}次", middle, a); }            else if (number < arry[middle]) { bingaryserch1(arry, number, star, middle - 1); }            else if (number > arry[middle]) { bingaryserch1(arry, number, middle + 1, end); }        }

 

二分查找法(非递归算法)

 

///         /// 二分查找法(非递归算法)        /// 此算法的前提是arry数组为有序数组。是排好序的。        ///         /// 在哪个数组中查找        /// 要查找 的数        public static void BinarySearch(int[] iArrary, int number)        {            int star = 0;//起下标            int end = iArrary.Length - 1;//终下标,最后的下标,数组长度-1            bool flag = false;            int count = 0;//查找的次数            while (star <= end)            {                count++;                int mid = Convert.ToInt32((star + end) / 2);//取得中间的下标                if (number == iArrary[mid])                {                    Console.WriteLine("存在此数,下标为:{0};共查找了{1}次。", mid, count);                    flag = true;                    return;                }                else if (number < iArrary[mid])                {                    end = mid - 1;                }                else                {                    star = mid + 1;                }            }            if (!flag) { Console.WriteLine("不存在此数。共查找了{0}次。", count); }        }

 

 

 

 

转载于:https://www.cnblogs.com/zhangzili/archive/2013/05/08/erfenchazhao.html

你可能感兴趣的文章
修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or
查看>>
内部类访问局部变量为什么必须要用final修饰
查看>>
20189216 2018-2019-2 《密码与安全新技术专题》第四次作业
查看>>
iOS 设置非ARC类
查看>>
CSS盒子模型
查看>>
流文件保存到本地的两种方法
查看>>
关于js中属性那些事
查看>>
如果想从jenkins直接生成docker镜像,并推送到harbor中,最简单的脚本如何实现?...
查看>>
NGINX白名单功能,ngx_http_limit_conn_module和ngx_http_limit_req_module值设置多少才合适呀?...
查看>>
如何将ESXI上的GUES OS的磁盘空间减小?
查看>>
mplayer configure选项中文注释
查看>>
Leetcode: 二叉树的最大深度
查看>>
4.2 去皱纹
查看>>
DTD笔记
查看>>
字符串的相似度(编辑距离)
查看>>
PDF文件分割和合并
查看>>
Oracle常用函数
查看>>
常用正则记录
查看>>
对象/集合初始化器
查看>>
SSM上传EXCLE到数据库 和 从数据库导出为EXCLE
查看>>