Namespaces
Variants
Views
Actions

std::experimental::shuffle

From cppreference.com
Defined in header <experimental/algorithm>
template< class RandomIt>
void shuffle( RandomIt first, RandomIt last);
(library fundamentals TS v2)

Reorders the elements in the given range [first, last) such that each possible permutation of those elements has equal probability of appearance, using the per-thread random number engine as the random number generator.

Contents

[edit] Parameters

first, last - the range of elements to shuffle randomly
-
RandomIt must meet the requirements of ValueSwappable and RandomAccessIterator.

[edit] Return value

(none)

[edit] Complexity

Linear in the distance between first and last.

[edit] Example

[edit] See also

(until C++17)(C++11)
randomly re-orders elements in a range
(function template) [edit]