@Evg Спасибо за сообщение. Я исправил ошибку.

новании найденного определенияВот

Возвращает итератор, указывающий на первый элемент в отсортированном диапазоне [first, last), который сравнивает не меньше значения. Сравнение выполняется с помощью оператора <для первой версии или comp для второй.

Какой будет C эквивалентная реализация lower_bound (). Я понимаю, что это будет модификация бинарного поиска, но не могу точно определить точную реализацию.

int lower_bound(int a[], int lowIndex, int upperIndex, int e);

Пример дела:

int a[]= {2,2, 2, 7 };

lower_bound(a, 0, 1,2) would return 0 --> upperIndex is one beyond the last inclusive index as is the case with C++ signature.

lower_bound(a, 0, 2,1) would return 0.

lower_bound(a, 0, 3,6) would return 3;
lower_bound(a, 0, 4,6) would return 3; 

Мой код попытки приведен ниже:

int low_bound(int low, int high, int e)
{
    if ( low < 0) return 0;
    if (low>=high )
    {
      if ( e <= a[low] ) return low;
      return low+1;
    }
    int mid=(low+high)/2;
    if ( e> a[mid])
        return low_bound(mid+1,high,e);
    return low_bound(low,mid,e);

}

Ответы на вопрос(6)

Ваш ответ на вопрос