Расположить в обратном порядке (Reverse)
template
<class BidirectionalIterator>
void
reverse(BidirectionalIterator first,
BidirectionalIterator
last);
reverse выполняет
перестановку элементов последовательности
[first; last) в
обратном порядке. Алгоритм
требует двунаправленных
итераторов
template
<class BidirectionalIterator, class OutputIterator>
OutputIterator
reverse_copy(BidirectionalIterator first,
BidirectionalIterator
last, OutputIterator result);
reverse_copy
копирует элементы последовательности
[first, last)
в последовательность начинающуюся с
итератора result в обратном
порядке. Важно отметить, что
последовательность в которую копируется
перевернутая исходная последовательность
должна содержать достаточной количество
элементов (не меньше чем исходная), в
противном случае результат работы
программы не определен.
1
В работах посвященных стандартным
алгоритмам НЕ рассмотрены ВСЕ стандартные
алгоритмы. Описание всех алгоритмов
можно найти в литературе по С++ или в
стандарте языка.
2
Как уже упоминалось ранее STL
является шаблонной библиотекой и может
в качестве предикатов, функций критериев
сравнения и т.п. принимать как указатели
на функции, так и объекты, для которых
перегружен operator() –
функторы. В данном случае также f
может быть как указателем на функцию,
так и функтором.
3
Происходит именное копирование, т.е.
старые элементы последовательности
«приемника» перезаписываются элементами
последовательности «источника»