FreeBSD Manual Pages
std::experimental::shuffle(3) C++ Standard Libarystd::experimental::shuffle(3) NAME std::experimental::shuffle - std::experimental::shuffle Synopsis Defined in header <experimental/algorithm> template< class RandomIt> (library fundamentals TS v2) void shuffle( RandomIt first, RandomIt last); 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 // Run this code #include <experimental/algorithm> #include <iostream> #include <string> int main() { std::string sample{"ABCDEF"}; for (int i = 0; i != 4; ++i) { std::experimental::shuffle(sample.begin(), sample.end()); std::cout << sample << '\n'; } } Possible output: DACBFE CDFBAE BDCAFE BAFCED See also random_shuffle shuffle randomly re-orders elements in a range (until C++17) (function template) (C++11) http://cppreference.com 2022.07.31 std::experimental::shuffle(3)
NAME | Synopsis | Parameters | Return value | Complexity | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::shuffle&sektion=3&manpath=FreeBSD+Ports+15.0>
