1: //shuffle1a.cpp
3: #include <iostream>
4: #include <vector>
5: #include <algorithm>
6: #include <iterator>
7: #include <random>
8: #include <ctime>
9: using namespace std;
11: int main()
12: {
13: cout << "\nThis program illustrates the use of the STL "
14: "shuffle() algorithm from\n<algorithm> to randomly "
15: "shuffle the first ten positive integers.";
16: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
18: default_random_engine dre;
20: int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
21: cout << endl;
22: copy(begin(a), end(a), ostream_iterator<int>(cout, " "));
23: cout << endl << endl;
25: vector<int> v1(begin(a), end(a));
26: shuffle(v1.begin(), v1.end(), dre);
27: copy(v1.begin(), v1.end(), ostream_iterator<int>(cout, " "));
28: cout << endl;
30: dre.seed(time(0));
31: vector<int> v2(begin(a), end(a));
32: shuffle(v2.begin(), v2.end(), dre);
33: copy(v2.begin(), v2.end(), ostream_iterator<int>(cout, " "));
34: cout << endl;
36: dre.seed();
37: vector<int> v3(begin(a), end(a));
38: shuffle(v3.begin(), v3.end(), dre);
39: copy(v3.begin(), v3.end(), ostream_iterator<int>(cout, " "));
40: cout << endl;
41: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
42: }