How to randomly shuffle a list in C++

1 Answer

0 votes
#include <iostream>
#include <list>
#include <vector>
#include <algorithm>
#include <ctime>

using std::cout;
using std::endl;

int main()
{
	std::list<int> lst;
	
	std::srand(std::time(0));

	for (int i = 0; i < 10; i++)
		lst.push_back(i);

	std::vector<int> vec(lst.begin(), lst.end());
	std::random_shuffle(vec.begin(), vec.end());
	lst.assign(vec.begin(), vec.end());

	for (auto i : lst) {
		cout << i << " ";
	}

	cout << endl;

	return 0;
}


/*
run:

3 7 2 5 9 1 4 0 8 6

*/

 



answered Feb 20, 2018 by avibootz

Related questions

1 answer 173 views
173 views asked Feb 19, 2018 by avibootz
2 answers 173 views
173 views asked Nov 8, 2023 by avibootz
1 answer 170 views
170 views asked Feb 19, 2018 by avibootz
2 answers 177 views
2 answers 218 views
1 answer 197 views
1 answer 121 views
...