std::experimental:: shuffle
From de.cppreference.net
<
cpp
|
experimental
|
Definiert im Header
<experimental/algorithm>
|
||
|
template
<
class
RandomIt
>
void shuffle ( RandomIt first, RandomIt last ) ; |
(Library Fundamentals TS v2) | |
Ordnet die Elemente im angegebenen Bereich
[
first
,
last
)
so um, dass jede mögliche Permutation dieser Elemente die gleiche Wahrscheinlichkeit des Auftretens hat, wobei die
pro-Thread-Zufallszahlen-Engine
als Zufallszahlengenerator verwendet wird.
InhaltParameter
Rückgabewert(keine) KomplexitätLinear in der Entfernung zwischen first und last . Beispiel
Diesen Code ausführen
#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'; } } Mögliche Ausgabe: DACBFE CDFBAE BDCAFE BAFCED Siehe auch
| |||||||||