Чтение онлайн

на главную - закладки

Жанры

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

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

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

или (по умолчанию) операцией <.

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

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

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

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

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

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

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

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

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

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

операция <.

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

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

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

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

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

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

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

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

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

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

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

Поделиться:
Популярные книги

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

На границе империй. Том 7

INDIGO
7. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
6.75
рейтинг книги
На границе империй. Том 7

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Интернет-журнал "Домашняя лаборатория", 2007 №8

Журнал «Домашняя лаборатория»
Дом и Семья:
хобби и ремесла
сделай сам
5.00
рейтинг книги
Интернет-журнал Домашняя лаборатория, 2007 №8

Тактик

Земляной Андрей Борисович
2. Офицер
Фантастика:
альтернативная история
7.70
рейтинг книги
Тактик

Стражи душ

Кас Маркус
4. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Стражи душ

Его нежеланная истинная

Кушкина Милена
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Его нежеланная истинная

Русь. Строительство империи

Гросов Виктор
1. Вежа. Русь
Фантастика:
альтернативная история
рпг
5.00
рейтинг книги
Русь. Строительство империи

Кодекс Крови. Книга V

Борзых М.
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга V

Батальоны тьмы. Трилогия

Болл Брайан Н.
18. Фантастический боевик
Фантастика:
боевая фантастика
5.00
рейтинг книги
Батальоны тьмы. Трилогия

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Саженец

Ланцов Михаил Алексеевич
3. Хозяин дубравы
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Саженец

Крещение огнем

Сапковский Анджей
5. Ведьмак
Фантастика:
фэнтези
9.40
рейтинг книги
Крещение огнем

Черный Маг Императора 12

Герда Александр
12. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 12