Je ne suis pas certain que le "mélange" de tableau soit une bonne solution car il y aura un problème à déterminer à partir de quel seuil tu peux considérer que l'ordre est devenu aléatoire.
Je te propose une autre idée, relativement simple à implémenter et qui ne doit pas être trop gourmande en temps de traitement :
- Tu crées un tableau des n valeurs possibles, trié (de 1 à n, pour l'exemple).
- Tu fais un tirage aléatoire (avec random) entre 1 et n : tu tires p1
- Tu prend la valeur du p1ème élément dans le tableau
- Dans le tableau, tu échanges le dernier élément (n) avec p1
- Au tirage suivant, tu tires p2 entre 1 et n-1
- Tu prend la valeur du p2ème élément dans le tableau : tu as enlevé p1, tu es sur de ne pas le retirer
- Tu échanges n-1 et p2 dans le tableau
- Et tu recommences (en diminuant à chaque fois le nombre d'éléments restants).
Il resterait à prouver que les tirages sont équi-probables, si tu veux un véritable tirage aléatoire (je pense que cela suppose que n soit très grand, pour commencer) mais, ça doit déjà être un bon début