# std::experimental::shuffle

From cppreference.com
< cpp‎ | experimental

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.

### Parameters

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

### Return value

(none)

### Complexity

Linear in the distance between `first` and `last`.

### Example

| This section is incomplete Reason: no example

### See also

random_shuffleshuffle (until C++17)(C++11) | randomly re-orders elements in a range (function template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/shuffle&oldid=103588"