Алгоритм random_shuffle, также требующий итераторов
Алгоритм random_shuffle, также требующий итераторов произвольного доступа, случайным образом переставляет значения элементов в указанном диапазоне контейнера:
template <class RandomAccessIterator>
void random shuffle(RandomAccessIterator first, RandomAccessIterator last);
Итераторы вставки
Для вставки значений в контейнер применяются итераторы вставки. Их называют также адаптерами, поскольку они преобразуют контейнер в итератор, т. е. адаптируют его к специальному использованию в алгоритмах вроде copy (). Имеется три вида итераторов вставки:
Начальные адаптеры, вставляющие объекты в начало контейнера, например, списка (при этом вставленные элементы данных оказываются расположенными в порядке, обратном исходному).
Конечные адаптеры, присоединяющие объекты в конец контейнера.
Адаптеры вставки, вставляющие данные перед произвольным элементом контейнера.
При вставке данных в контейнер может произойти перемещение уже находившихся там данных, из-за чего некоторые итераторы станут недействительными. Это может случиться в случае вектора, но не списков, в которых данные при вставке не смещаются.
В типичном случае адаптер вставки применяется после поиска некоторого значения, как показано в следующем примере.
////////////////////////////////////////////////////////////////
// Inserter.срр: Демонстрация итераторов вставки. //
#include <algorithm>
#include <list>
#include <iostream>
#pragma hdrstop
#include <condefs.h>
using namespace.std;
int iArr[5] = (1, 2, 3, 4, 5);
//
// Функция вывода содержимого списка.
//
void Display(list<int> &1, const char *label)
(
cout << label<< ": { ";
copy (1 .begin (), 1.end(),
ostream_iterator<int>(cout, " "));
cout << "}" << endl;
}
int main(void) {
list<int> iLst; // Создание объекта списка.
// Копирование массива в список в обратном порядке:
copy(iArr, iArr + 5, front_inserter(iLst));
Display(iLst, "Before insertion");
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий