算法-(二分查找)

二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

代码:

将一个有序的数组取中间点与要找的数值x进行比较,当x比中间值还小的时候,则把middle-1 赋值给H,相反则将middle+1 赋值给L。

static int binarySearch(int [] arr,int x)
        {
            int low = 0;
            int hight = arr.Length - 1;
            while (low<hight)
            {
                int middle = (low + hight) / 2;
                if (x==arr[middle])
                {
                    return middle;
                }
                else if (x<arr[middle])
                {
                    hight = middle - 1;
                }
                else
                {
                    low = middle + 1;
                }
            }
            return -1;
        }

 

    原文作者:查找算法
    原文地址: https://blog.csdn.net/Just_do_it_HZF/article/details/79641606
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞