Bonjour
Je voudrais mélanger un tableau (array), mais pas n'importe comment.
Je vais prendre un exemple, admettons que j'ai :
array (
artiste 1 => titre 1
artiste 1 => titre 2
artiste 2 => titre 1
artiste 2 => titre 2
artiste 2 => titre 3
artiste 3 => titre 1
artiste 4 => titre 1
Je voudrais mélanger ceci, mais avec la condition que le même artiste ne soit pas choisi 2 fois consécutivement...
C'est à dire à l'arrivée, quelquechose qui ressemble à :
artiste 1 => titre 1
artiste 2 => titre 1
artiste 1 => titre 2
artiste 2 => titre 2
artiste 3 => titre 1
artiste 2 => titre 3
artiste 4 => titre 1
(par exemple)
Evidemment, il y aura des cas d'impossibilités (si il y a trop de titres d'un même artiste par exemple), mais le but est de faire "du mieux possible".
J'avais pensé faire en 2 étapes:
1- shuffe(array)
2- un test du tableau obtenu, et inversion 2 à 2 si artiste se répète.
Mais je crains que ça parte en vrille, alors si quelqu'un a une idée plus simple, je suis preneur
Merci !
Partager