Расположить в обратном порядке (Reverse)
template
<class BidirectionalIterator>
void
reverse(BidirectionalIterator first,
BidirectionalIteratorlast);
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Происходит именное копирование, т.е.
старые элементы последовательности
«приемника» перезаписываются элементами
последовательности «источника»