Previous fileTop of DocumentContentsIndex pageNext file
Apache C++ Standard Library Reference Guide

random_shuffle()

Library:  Algorithms


Function

Local Index

No Entries

Summary

Algorithm that randomly shuffles elements of a collection

Synopsis

#include <algorithm>

namespace std {
  template <class RandomAccessIterator>
  void random_shuffle(RandomAccessIterator start,
                      RandomAccessIterator finish);

  template <class RandomAccessIterator,
            class RandomNumberGenerator>
  void random_shuffle(RandomAccessIterator start,
                      RandomAccessIterator finish,
                      RandomNumberGenerator& rand);
}

Description

The random_shuffle() algorithm shuffles the elements in the range [start, finish) with uniform distribution. random_shuffle() can take a particular random number generating function object rand (where rand takes a positive argument n of type convertible from std::iterator_traits<RandomAccessIterator>::difference_type) and returns a randomly chosen value between 0 and n - 1.

Complexity

In the random_shuffle() algorithm, (finish - start) - 1 swaps are done.

Example

Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 25.2.11



Previous fileTop of DocumentContentsIndex pageNext file