如何编写Upper_bound STL函数来查找元素的位置大于给定元素?

时间:2017-02-18 14:18:18

标签: c++ stl

我想编写一个代码来查找上限stl函数,该函数返回元素的POSITION大于给定元素。 我已经为下限做了这个,但是不能用于上限,而且我也不想使用其他stl函数来找到位置。

代码:

int lowerBound(int a[], int n, int key)
{
    int low = 0, high = n-1, mid, pos = -1;
    while(low <= high)
    {
        mid = (low + high)/2;
        if(a[mid] < key)
        {
            low = mid+1;
        }

        else
        {
            pos = mid;
            high = mid-1;
        }

    }
    return pos;
}

0 个答案:

没有答案