Страница 10 из 13
Возвращает true, если хотя бы один элемент диапазона [first, last) удовлетворяет предикату pred. В случае пустого диапазона возвращается false.
Сложность линейная (не более N вызовов pred).
Использует двоичный поиск для проверки того, содержится ли в диапазоне [first, last) значение value (если значение найдено, то возвращает true, иначе false). Содержимое диапазона должно быть предварительно отсортировано в соответствии с порядком, задаваемым предикатом comp(*p1, *p2) или (по умолчанию) операцией <.
Сложность логарифмическая (не более log N + 2 сравнений).
Копирует элементы из [first, last) в диапазон, начинающийся с result, и возвращает позицию за последним скопированным элементом в полученном диапазоне. Итератор result не может находиться в исходном диапазоне [first, last), но другие части выходного диапазона могут накладываться на исходный диапазон. Таким образом, данный алгоритм можно применять для «копирования влево», т. е. копирования в ситуации, когда левая граница выходного диапазона находится слева от исходного диапазона.
Сложность линейная (N присваиваний).
Выполняет те же действия, что и copy, но перебирает исходные данные в обратном порядке: от элемента, предшествующего last, до first. Итератор result_last должен указывать на элемент, следующий за концом выходной последовательности; возвращаемое значение – это итератор, указывающий на первый элемент выходной последовательности. Итератор result_last не может находиться в диапазоне (first, last] (обратите внимание на границы этого диапазона), но другие части выходного диапазона могут накладываться на исходный диапазон. Таким образом, данный алгоритм можно применять для «копирования вправо», т. е. копирования в ситуации, когда правая граница выходного диапазона находится справа от исходного диапазона.
Сложность линейная (N присваиваний).
Копирует в диапазон, начинающийся с result, все элементы диапазона [first, last), для которых pred возвращает true. Возвращает позицию за последним скопированным элементом в полученном диапазоне. Относительный порядок элементов в полученном диапазоне сохраняется. Исходный и результирующий диапазоны не должны перекрываться.
Сложность линейная (N сравнений).
Копирует в диапазон, начинающийся с result, n элементов диапазона, начинающегося с first.
Сложность линейная (n присваиваний).
Возвращает количество элементов в диапазоне [first, last), которые равны значению value.
Сложность линейная (N сравнений).
Возвращает количество элементов в диапазоне [first, last), для которых выражение pred(*p) равно true.
Сложность линейная (N вызовов pred).
Возвращает true, если два диапазона содержат одни и те же элементы в одинаковом порядке. Первый диапазон – [first1, last1), второй начинается с first2 и имеет такую же длину; диапазоны могут перекрываться. Для сравнения используется предикат pred(*p1, *p2) или (по умолчанию) операция ==.
Сложность линейная (не более N1 сравнений).
Проверяет, имеется ли в диапазоне [first, last) значение value, и возвращает пару итераторов, которые указывают на начало диапазона, содержащего value, и на элемент за концом этого диапазона (если значение не найдено, то оба итератора указывают на позицию в диапазоне, в которую можно вставить value, не нарушая порядка сортировки). Содержимое диапазона должно быть предварительно отсортировано в соответствии с порядком, задаваемым предикатом comp(*p1, *p2) или (по умолчанию) операцией <.
Сложность логарифмическая (не более 2*log N + 1 сравнений).
Заполняет выходной диапазон [first, last) значениями value.
Сложность линейная (N присваиваний).
Заполняет выходной диапазон из n элементов, начиная с first, значениями value.
Сложность линейная (n присваиваний).
Возвращает итератор, указывающий на первое вхождение элемента value в диапазоне [first, last), или last, если элемент value отсутствует. Для сравнения элементов используется операция ==.
Сложность линейная (не более N сравнений).
Находит последнюю (самую правую) подпоследовательность [first2, last2) в диапазоне [first1, last1). Возвращает итератор, который указывает на начало найденной подпоследовательности, или last1, если подпоследовательность не найдена. Для сравнения элементов используется предикат pred(*p1, *p2) или (по умолчанию) операция ==.
Сложность линейная (не более N1*N2 сравнений).
Находит первое вхождение любого элемента подпоследовательности [first2, last2) в диапазон [first1, last1); возвращает итератор, который указывает на найденный элемент, или last1, если элемент не найден. Для сравнения элементов используется предикат pred(*p1, *p2) или (по умолчанию) операция ==.
Сложность линейная (не более N1*N2 сравнений).
Возвращает итератор, указывающий для диапазона [first, last) на первое вхождение элемента, для которого выражение pred(*p) возвращает true; если требуемые элементы отсутствуют, то возвращает last.
Сложность линейная (не более N вызовов pred).
Возвращает итератор, указывающий для диапазона [first, last) на первое вхождение элемента, для которого выражение pred(*p) возвращает false; если требуемые элементы отсутствуют, то возвращает last.