How to make sure that std::random_shuffle always produces a different result?

std::random_shuffle has two forms. One that takes 2 arguments (begin/end iterators), and one that takes 3 (begin/end iterator and a random generator).

The first form uses std::rand(), so you would use std::srand() to seed it’s random number generator. You can also use the 3-argument version and provide the RNG yourself.

Leave a Comment