. Алгоритм random_shuffle, который объявлен в стандарте C++11 устаревшим, помечен текстом
deprecated. Алгоритмы, определенные в заголовочном файле
, описаны в п. 1.3.3, алгоритмы, определенные в заголовочном файле , – в п. 1.3.4. В каждом пункте алгоритмы располагаются в алфавитном порядке своих имен.Все алгоритмы определены в пространстве имен std. В таблице 5 алгоритмы сгруппированы в соответствии со способом их применения.
Таблица 5
Алгоритмы STL по категориям
1.3.2. Соглашения об именовании параметров
В качестве типов для параметров-итераторов first, last, result, result_last (возможно, дополненных номерами 1 или 2) указываются:
• InIter – итератор чтения (input);
• OutIter – итератор записи (output);
• FwdIter – однонаправленный итератор (forward);
• BidiIter – двунаправленный итератор (bidirectional);
• RandIter – итератор произвольного доступа (random).
В качестве типа значения для входных последовательностей указывается T; если выходная последовательность может иметь тип элементов, отличный от T, то для него используется имя TRes. Итераторы из диапазонов [first, last), [first1, last1), [first2, last2) обозначаются с помощью переменных p, p1, p2 соответственно.
Для типов функциональных объектов в описаниях алгоритмов используются следующие имена:
• UnaryOp – унарная операция (функциональный объект с операцией (), имеющей один параметр типа T; при этом тип возвращаемого значения может отличаться от типа T);
• BinaryOp – бинарная операция (функциональный объект с операцией (), имеющей два параметра, как правило, одинакового типа T; тип возвращаемого значения может отличаться от типа T); если параметры бинарной операции могут иметь различные типы, то об этом явно говорится в описании соответствующего алгоритма;
• Predicate – унарный предикат (унарная операция, возвращающая логическое значение);
• BinaryPredicate – бинарный предикат (бинарная операция с параметрами типа T, возвращающая логическое значение);
• Compare – бинарный предикат, предназначенный для сравнения элементов (аналог операции <);
• Generator – генератор последовательности (функциональный объект с операцией (), не имеющей параметров и возвращающей значение типа TRes);
• RandomGenerator – генератор случайных целых чисел, равномерно распределенных в диапазоне [0, n).