Чтобы использовать алгоритмы стандартной библиотеки C++ для работы с пользовательскими структурами данных, нужно убедиться, что они удовлетворяют требованиям определённого алгоритма. 4
Некоторые виды алгоритмов стандартной библиотеки C++ и их назначение:
- Немодифицирующие операции. 3 Не меняют порядок элементов в контейнере, а только обрабатывают их значения. 3 Например, find, count, equalrange и adjacentfind. 3
- Модифицирующие операции. 3 Меняют порядок или значения элементов контейнера. 3 Например, sort, reverse, rotate, unique. 3
- Алгоритмы для работы с итераторами. 3 Взаимодействуют только с ними, но не с контейнерами. 3 Например, copy, swap, fill, generate. 3
- Алгоритмы поиска и сортировки. 3 Нужны, чтобы находить или сортировать элементы по определённому условию. 3 Например, binarysearch, lowerbound, upper_bound, merge. 3
- Генераторы. 3 Создают новые элементы или последовательности. 3 Например, transform, accumulate, inner_product. 3
Например, пользователь может определить специализированный контейнерный класс и использовать для него библиотечную функцию сортировки. 1 Для сортировки можно выбрать другую функцию сравнения через указатель на сравнивающую функцию или через функциональный объект. 1
Полный список доступных алгоритмов можно найти в документации. 2