Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
random_shuffle
Prototype

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);

Description

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.

Definition

Defined in the header file boost/range/algorithm/random_shuffle.hpp

Requirements

For the version without a Generator:

For the version with a Generator:

Precondition:
Complexity

Linear. If !empty(rng), exactly distance(rng) - 1 swaps are performed.


PrevUpHomeNext