二分查找算法

来源:互联网 发布:response.json 编辑:程序博客网 时间:2024/06/10 08:39
    public int BinSearch(SeqList<int> R, int Key)
    {
        
int low = 0, high = R.GetLength() - 1, mid;//置当前查找区间上、下界的初值
        while (low <= high)
        { 
//当前查找区间R[low..high]非空
            mid = (low + high) / 2;
            
if (R.Data[mid] == Key) return mid; //查找成功返回
            if (R.Data[mid] > Key)
                high 
= mid - 1//继续在R[low..mid-1]中查找
            else
                low 
= mid + 1//继续在R[mid+1..high]中查找
        }
        
return -1//当low>high时表示查找区间为空,查找失败
    }
原创粉丝点击