Содержание

Введение 3

Требования, предъявляемые к STL 3
Ортогональное пространство STL 5
Недостатки STL 7
STLnC++ 7

СОСТАВ STL 9
Контейнеры и итераторы 9
Алгоритмы 18
Аллокаторы 17
Адаптеры 18

КОНТЕЙНЕРЫ 19

Последовательные контейнеры 1
Вектор 19
Типы, определенные в векторе 20
Конструкторы вектора 20
Определение размеров вектора 26
Вставка элемента в вектор и удаление
элемента из вектора 30
Двунаправленный список (list) 38
Реализация списка в STL 39
Конструкторы списка 40
Определение размера списка 42
Итераторы 44
Вставка элементов в список 48
Выборка элементов из списка 50
Удаление элементов из списка 51
Обмен содержимым двух списков 56
Изменение размера списка 56
Перенос элементов из списка в список 57
Слияние двух списков 60
Сортировка списка 61
Изменение порядка элементов списка на обратный 63
Удаление элементов с повторяющимися данными 64
Дек (deque) 65
Конструкторы дека 65
Вставка элементов в дек 71
Выборка элемента из дека 76
Удаление элемента из дека 77
Ассоциативные контейнеры 80
Отображение (mар) 80
Итераторы 86
Конструкторы 90
Получение информации об отображении 98
Вставка элементов в отображение 99
Выборка элементов из отображения 104
Удаление элементов из отображения 108
Отображение с неуникальными ключами (multimap) 110
Множество (set) 111
Множество с неуникальными ключами (multiset) 111
Хэшированные отображения(пазп_тар) 111
Конструкторы 114
Вставка элементов в хэшированное отображение 121
Получение информации о хэшированном отображении 128
Выборка элементов из хэшированного отображения 129
Удаление элементов из хэшированного отображения 130
Хэшированное отображение с неуникальными ключами
(hash-multimap) 132
Хэшированное множество (hash_set) 132
Хешированное множество с неуникальными ключами (hashjnultiset) 132
АЛГОРИТМЫ 133
Группы алгоритмов 133
Немутационные алгоритмы 133
Мутационные алгоритмы 135
Применение алгоритмов 136
Немутационные алгоритмы 138
Итерационные алгоритмы 138
Алгоритмы поиска 140
Алгоритмы подсчета 164
Алгоритмы проверки совпадения 167
Мутационные алгоритмы 170
Алгоритмы копирования и обмена содержимым 170
Алгоритмы замены 188
Алгоритмы удаления 199
Алгоритмы двоичного поиска 202
Алгоритмы слияния 204
Алгоритмы изменения порядка следования элементов 207
Алгоритмы сортировки 212
Численные алгоритмы 219
Лексикографические алгоритмы 237
Алгоритмы для работы с кучей 244
Предопределенные объекты-функции 248
Арифметические функции 249
Функции сравнения 250,262
Функции логических операций 253

Приложение 254
Флаги, используемые при работе STL 254
Макросы управления компиляцией, устанавливаемые пользователем255
Другие макросы, используемые STL 256

Список использованной литературы 259