Читаем Введение в стандартную библиотеку шаблонов C++. Описание, примеры использования, учебные задачи полностью

Возвращает true, если последовательность [first1, last1) «меньше» (в лексикографическом смысле), чем последовательность [first2, last2), и false в противном случае (в частности, если последовательности равны, то возвращается false, а если первая последовательность является собственным префиксом второй, то возвращается true). Для сравнения элементов используется предикат comp(*p1, *p2) или (по умолчанию) операция <.

Сложность линейная (не более min{N1, N2} сравнений).


screen_image_43_55_76


Проверяет, содержится ли в диапазоне [first, last) значение value, и возвращает итератор, который указывает на первое вхождение value (если значение не найдено, то итератор указывает на позицию в диапазоне, в которую можно вставить value, не нарушая порядка сортировки). Содержимое диапазона должно быть предварительно отсортировано в соответствии с порядком, задаваемым предикатом comp(*p1, *p2) или (по умолчанию) операцией <.

Сложность логарифмическая (не более log N + 1 сравнений).


screen_image_43_173_76


Переупорядочивает элементы диапазона [first, last), получая из него кучу (т. е. очередь с приоритетом, для которой первый элемент всегда больше остальных, а добавление нового элемента или удаление первого элемента может быть произведено за логарифмическое время, и результат тоже будет кучей). Для сравнения элементов используется предикат comp(*p1, *p2) или (по умолчанию) операция <.

Сложность линейная (не более 3*N сравнений).


screen_image_43_268_76


Возвращает большее из значений a и b (при их равенстве возвращается a). Для сравнения значений используется предикат comp(a, b) или (по умолчанию) операция <.


screen_image_43_317_76


Возвращает позицию первого наибольшего элемента в диапазоне [first, last). В случае пустого диапазона возвращает last. Для сравнения элементов используется предикат comp(*p1, *p2) или (по умолчанию) операция <.

Сложность линейная (max{N – 1, 0} сравнений).


screen_image_43_377_76


Выполняет слияние двух предварительно отсортированных диапазонов [first1, last1) и [first2, last2) и копирование результата в последовательность, начиная с result (в выходной последовательности должно быть достаточно места для полученного набора данных). Возвращает выходной итератор, указывающий на позицию за концом добавленного набора данных. Выходной диапазон не должен накладываться ни на один из исходных диапазонов. Слияние является устойчивым; кроме того, в полученном диапазоне равные элементы из первого диапазона будут располагаться перед равными им элементами из второго диапазона. Для сравнения элементов используется предикат comp(*p1, *p2) или (по умолчанию) операция <.

Сложность линейная (не более N1 + N2 – 1 сравнений).


screen_image_44_56_60


Возвращает меньшее из значений a и b (при их равенстве возвращается a). Для сравнения значений используется предикат comp(a, b) или (по умолчанию) операция <.


screen_image_44_105_60


Возвращает позицию первого наименьшего элемента в диапазоне [first, last). В случае пустого диапазона возвращает last. Для сравнения элементов используется предикат comp(*p1, *p2) или (по умолчанию) операция <.

Сложность линейная (max{N – 1, 0} сравнений).


screen_image_44_165_60


Возвращает пару, содержащую меньшее и большее из значений a и b (при их равенстве возвращается пара (a, b)). Для сравнения значений используется предикат comp(a, b) или (по умолчанию) операция <.


screen_image_44_239_60


Возвращает пару, содержащую позиции первого наименьшего и последнего наибольшего элемента в диапазоне [first, last). В случае пустого диапазона возвращает пару (last, last). Для сравнения элементов используется предикат comp(*p1, *p2) или (по умолчанию) операция <.

Сложность линейная (не более max{floor(3/2*(N – 1)), 0} сравнений).


screen_image_44_335_60


Выполняет попарное сравнение элементов из диапазона [first1, last1) и диапазона, начинающегося с first2 и имеющего длину, не меньшую, чем длина первого диапазона. Возвращает первую пару различных элементов (или, если все элементы первого диапазона совпадают с соответствующими элементами второго диапазона, пару из итератора last1 и соответствующего итератора для второго диапазона). Для сравнения элементов используется предикат pred(*p1, *p2) или (по умолчанию) операция ==.

Сложность линейная (не более N1 сравнений).


screen_image_44_453_60


Перемещает элементы из [first, last) в диапазон, начинающийся с result, и возвращает позицию за последним перемещенным элементом в полученном диапазоне. Итератор result не может находиться в исходном диапазоне [first, last). После выполнения этого алгоритма диапазон [first, last) будет попрежнему содержать элементы того же типа, но их значения могут отличаться от исходных.

Сложность линейная (N присваиваний).


screen_image_45_92_76


Выполняет те же действия, что и move, но перебирает исходные данные в обратном порядке: от элемента, предшествующего last, до first. Итератор result_last должен указывать на элемент, следующий за концом формируемой выходной последовательности; возвращаемое значение – это итератор, указывающий на первый элемент выходной последовательности. Итератор result_last не может находиться в диапазоне (first, last] (обратите внимание на границы этого диапазона).

Сложность линейная (N присваиваний).


screen_image_45_222_76


Перейти на страницу:

Похожие книги

О станках и калибрах
О станках и калибрах

Все машины — это детища машиностроительных заводов. На этих заводах работают металлообрабатывающие станки — те машины, с помощью которых изготовляются части — детали любых машин: паровозов, автомобилей и самолетов, тракторов и сельскохозяйственных комбайнов, турбин и двигателей внутреннего сгорания, всех рабочих машин, в том числе и самих металлообрабатывающих станков.С помощью станков, созданных советскими инженерами, наш народ сказочно увеличил количество машин на заводах и фабриках и неизмеримо поднял производительность труда в советской промышленности.В наши дни выдающиеся достижения советских станкостроителей служат прочной базой социалистического машиностроения, помогают советским людям в их победоносном шествии к коммунизму. Вот почему к станкостроению и металлообработке приковано особенно пристальное внимание всех советских людей.Рассказам о главных изобретениях и усовершенствованиях в развитии станкостроения и металлообработки и посвящена эта книга.

Зигмунд Наумович Перля

Детская образовательная литература / Технические науки / Книги Для Детей / Образование и наука