![]() |
Home | Libraries | People | FAQ | More |
template<class RandomAccessRange> RandomAccessRange& random_shuffle(RandomAccessRange& rng); template<class RandomAccessRange> const RandomAccessRange& random_shuffle(const RandomAccessRange& rng); template<class RandomAccessRange, class Generator> RandomAccessRange& random_shuffle(RandomAccessRange& rng, Generator& gen); template<class RandomAccessRange, class Generator> const RandomAccessRange& random_shuffle(const RandomAccessRange& rng, Generator& gen);
random_shuffle randomly
rearranges the elements in rng.
The versions of random_shuffle
that do not specify a Generator
use an internal random number generator. The versions of random_shuffle that do specify a Generator use this instead. Returns
the shuffles range.
Defined in the header file boost/range/algorithm/random_shuffle.hpp
For the version without a Generator:
RandomAccessRange is
a model of the Random
Access Range Concept.
For the version with a Generator:
RandomAccessRange is
a model of the Random
Access Range Concept.
Generator is a model
of the RandomNumberGeneratorConcept.
RandomAccessRange's
distance type is convertible to Generator's
argument type.
distance(rng)
is less than gen's
maximum value.
Linear. If !empty(rng), exactly distance(rng) - 1
swaps are performed.