What is a good way to get a [pseudo-]random element from an STL range?
The best I can come up with is to do std::random_shuffle(c.begin(), c.end()) an
std::random_shuffle(c.begin(), c.end())
Take the number of elements, c.size(), then get a random_number between 0 and c.size(), and use:
c.size()
random_number
auto it = c.begin(); std::advance(it, random_number)
Have a look at http://www.cplusplus.com/reference/clibrary/cstdlib/rand/