Hace tiempo escribí sobre cómo Usar vectores en C++ y como usar iteradores. Sin embargo, el otro día quise "revolver" (hacer un shuffle) a un vector y se me complicó un poquito encontrar la solución.
En Java existe Collections.shuffle y quería algo similar para un vector. Y, después de experimentar un rato y leer varias páginas, encontré que existe una función shuffle que recibe dos iteradores (del inicio y final del vector) y un motor de generador de números aleatorios. Aquí les dejo el ejemplo simple que hice:
Espero que esto les sirva en sus proyectos. ¡Saludos!