Перетасовать (Random shuffle)

We use cookies. Read the Privacy and Cookie Policy

Перетасовать (Random shuffle)

template ‹class RandomAccessIterator›

void random_shuffle(RandomAccessIterator first, RandomAccessIterator last);

template ‹class RandomAccessIterator, class RandomNumberGenerator›

void random_shuffie(RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator& rand);

random_shuffle переставляет элементы в диапазоне [first, last) с равномерным распределением. Выполняется точно last-first перестановок. random_shuffle может брать в качестве параметра особый генерирующий случайное число функциональный объект rand такой, что rand берёт положительный параметр n типа расстояния RandomAccessIterator и возвращает случайно выбранное значение между 0 и n-1.