random_shuffle()
isn't actually specified to use rand()
and so srand()
may not have any impact. If you want to be sure, you should use one of the C++11 forms, random_shuffle(b, e, RNG)
or shuffle(b, e, uRNG)
.
An alternative would be to use random_shuffle(indices.begin(), indices.end(), rand());
because apparently your implementation of random_shuffle()
is not using rand()
.