Поделиться через


is_heap_until

Возвращает итератор, расположенный в первом элементе диапазона [begin, end), который не удовлетворяет условию упорядочения кучи, или end, если диапазон образует кучу.

template<class RandomAccessIterator>     RandomAccessIterator is_heap_until(         RandomAccessIterator begin,          RandomAccessIterator end     ); template<class RandomAccessIterator, class BinaryPredicate>      RandomAccessIterator is_heap_until(         RandomAccessIterator begin,          RandomAccessIterator end,          BinaryPredicate compare     );

Параметры

  • begin
    Итератор произвольного доступа, который задает первый элемент диапазона для проверки кучи.

  • end
    Итератор произвольного доступа, который задает конец диапазона для проверки кучи.

  • compare
    Двухместный предикат, который задает условие строгого слабого упорядочения, определяющее кучу. Предикат по умолчанию, если параметр compare не указан, — std::less<>.

Возвращаемое значение

Возвращает end, если указанный диапазон формирует кучу или содержит один элемент либо менее. В противном случае возвращает итератор для первого найденного элемента, который не удовлетворяет условию кучи.

Заметки

Первая функция-шаблон возвращает последний итератор next в [begin, end], где [begin, next) — это куча, упорядоченная по объекту функции std::less<>. Если расстояние end - begin < 2, функция возвращает end.

Вторая функция-шаблон работает так же, как первая, но использует в качестве условия упорядочения кучи предикат compare вместо std::less<>.

Требования

Заголовок: <algorithm>

Пространство имен: std

См. также

Ссылки

is_heap

Структура less

<algorithm>

Библиотека стандартных шаблонов