二分查找

99封情书 提交于 2020-02-02 08:17:08

二分查找(BinarySearch):又叫折半查找,从有序列表的初始候选区li[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。

PS:二分查找只针对有序的列表

    //只针对有序的列表
    public int BinarySearch(List<int> li, int value)
    {
        int left = 0;
        int right = li.Count - 1;
        int mid = (left + right) / 2;
        while (left<right)
        {
             mid = (left + right) / 2;
            if (li[mid] == value)
                return mid;
            if (li[mid] > value)
                right = mid - 1;
            else
                left = mid + 1;
        }
        return -1;
    }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!