本篇文章通过一个二分法查找的入门案例(代码)来给大家介绍一下c#中的二分法查找是什么?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
二分法查找:适用于已经排序好的数组
1、二分法查找(入门案例)
static void Main(string[] args) {int[] myNums = {1,13,22,34,56,143,167,211,266,363,466,572,595,645,688,689,702,779,888,899,922};Console.WriteLine("我的数组是:");for(int i = 0; i < myNums.Length; i++) {Console.Write("{0} ", myNums[i]);}Console.WriteLine();//使用二分法从数组查找指定值//取得查找值在数组中的索引位置int QueryValueIndex = QueryFromTwoParts(688, myNums, 0, myNums.Length - 1);Console.WriteLine("--------------------------------------------------------");Console.WriteLine("查找值688在数组中的索引位置是:{0}", QueryValueIndex);Console.WriteLine("数组myNums索引位置{0}处的值是:{1}", QueryValueIndex, myNums[QueryValueIndex]);Console.ReadKey();}//该方法返回的是查找值在数组中的索引位置private static int QueryFromTwoParts(int QueryValue, int[] nums, int leftIndex, int rightIndex) {//计算数组中间值的在数组中的索引位置int midValueIndex = (leftIndex + rightIndex + 1) / 2;//取得数组中间索引位置处的值int midValue = nums[midValueIndex];//比较中间值与查找值的大小,确定下一步该怎样继续查询if(QueryValue == midValue) {return midValueIndex;} else if(QueryValue < midValue) {return QueryFromTwoParts(QueryValue, nums, leftIndex, midValueIndex);} else {return QueryFromTwoParts(QueryValue, nums, midValueIndex, rightIndex);}}
2、代码运行结果:

以上就是C#中二分法查找的入门(代码介绍)的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432894.html
微信扫一扫
支付宝扫一扫