让我们重温上大学时候学习的基础算法之折半查找

原创 2012年03月31日 14:13:18

 //输入排好序的数组和待查询的值,返回在数组中的位置
        static int BinarySearch(int[] array, int value)
        {
            int low = 0;//查询的开始范围
            int high = array.Length - 1;//查询的结束范围
            int midpoint = 0;//中间点
            while (low <= high)
            {
                midpoint = (low + high) / 2;
                //检查是否和数组中的中间值相等
                if (value == array[midpoint])
                {
                    return midpoint;
                }
                else if (value < array[midpoint])
                    high = midpoint - 1;
                else
                    low = midpoint + 1;


            }
            //没有找到返回-1
            return -1;
        }

用在大学时候没学过的语言C#来写基础这般算法

大家看看如果如此调用返回是几,有奖竞猜,呵呵

 int[] numbers = new int[10] { 10, 21, 34, 49, 54,78,101,254,354,5454 };
            int value = 255;
            int he = BinarySearch(numbers, value);



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

基础算法之五-查找: 折半查找

折半查找              又称为二分查找。这种查找方法要求查找表的数据是线性结构保存,并且还要求查找表中的数据是按关键字由小到大有序排列。   &...

算法基础(一)------ 二分查找(折半查找)

折半查询(二分查询)

15个数折半查找时候遇到的若干问题及解决

3.1本例题解决时发现不能用scanf()获得当前值,之前有printf()干扰了其获值  scanf的%c是不能禁止回车响应的,但在程序逻辑上,你可以通过以下四个办法之一来避免回车的影响: 一、如...

二分法查找(折半查找)算法学习笔记

小生学习C语言时整理的一些学习笔记及心得体会.

java基础学习记录之数组折半查找的学习与练习四

/* 折半查找的练习。 折半查找只能查找有序数组。 */ class ArrayTest4  { /*折半查找的第一种方法。 public static int halfSearch(int[] ar...

折半查找算法

  • 2014-09-26 13:01
  • 20KB
  • 下载

二分查找--基础算法

二分
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)