Перетасовать (Random shuffle)
Перетасовать (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.