Пример #1
0
void s_RandomShuffle(I iter1, I iter2)
{
    for ( int s = int(distance(iter1, iter2)); s > 1; --s, ++iter1 ) {
        swap(*iter1, *next(iter1, s_Random.GetRandIndex(s)));
    }
}