Desordenar un vector de números

Busco un algoritmo que sea capaz de desordenar un vector de número ordenados, por ejemplo, si yo tengo el vector (1,2,3,4,5) usando el algoritmo en cuestión me de otro vector tal que así (2,5,3,1,4) por ejemplo.

1ª idea:

Voy generando números al azar (en el ejemplo anterior números entre el 1 y el 5) comprobando sino me han salido antes y los coloco en un nuevo vector.

Esto es un poco lento, sobre todo si el vector es de un millón de números.


2ª idea:

Conseguida en la fisgona gracias a Jotape. Cojo dos componentes al azar diferentes del vector ordenado he intercambio sus valores.

Esta es mucho más rapida que la anterior.

No hay comentarios:

Publicar un comentario en la entrada