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.
| Contents | 
[edit] Parameters
| first, last | - | the range of elements to shuffle randomly | 
| - RandomItmust meet the requirements ofValueSwappableandRandomAccessIterator. | ||
[edit] Return value
(none)
[edit] Complexity
Linear in the distance between first and last.
[edit] Example
| This section is incomplete Reason: no example | 
[edit] See also
| (until C++17)(C++11) | randomly re-orders elements in a range (function template) | 


