Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
STL5 / lab6-algorithms / lab6-algorithms.doc
Скачиваний:
8
Добавлен:
10.04.2015
Размер:
203.26 Кб
Скачать

Расположить в обратном порядке (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Происходит именное копирование, т.е. старые элементы последовательности «приемника» перезаписываются элементами последовательности «источника»

Соседние файлы в папке lab6-algorithms