Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Standard C++ Library Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

random_shuffle()

Module:  Standard C++ Library   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

Copyright (c) 1994-2006 Rogue Wave Software, a Quovadx Division.
Licensed under the Apache License, Version 2.0.
Contact Rogue Wave about documentation or support issues. You can also seek help from other developers through the Apache stdcxx community (see below).

For more information on the Rogue Wave Standard C++ Library under open source, see Section 1.2 of the user's guide.