Перестановка
Алгоритм random_shuffle () производит случайную перестановку элементов контейнера:
void random_shuffle(RandomAccessIterator first,
RandomAccessIterator last);
В качестве третьего аргумента можно указать функциональный объект с целым параметром, задающим диапазон генерируемых им случайных чисел.
Алгоритм может быть полезен не только для задач вроде тасовки колоды карт, но и для подготовки, например, тестовых наборов данных для программ сортировки и т. п.