Login  Register

Permutations pour une collection

Posted by sebastien audier on Jun 02, 2014; 3:54pm
URL: https://forum.world.st/Permutations-pour-une-collection-tp4761332.html

Bonjour tout le monde,

Je cherchais une méthode pour générer toutes les permutations possible d'une collection.
A partir d'une collection, je dois obtenir une collection de collections distinctes.

Il y a la méthode permutationsDo:
Celle-ci est implémenté pour les classes Interval et SequenceableCollection.

Cela fonctionne parfaitement pour Interval, mais pas vraiment pour une collection. Le résultat obtenu n'est pas celui auquel je m'attend.

J'ai donc implémenté une méthode temporaire qui invoque la méthode déjà présente dans la classe Interval:

permutationsFor: aCollection
| res |
res := OrderedCollection new.
(1 to: (aCollection size)) permutationsDo: [ :each | | temp |
temp := OrderedCollection new.
each do: [ :item |
temp add: (aCollection at: item)].
res add: temp].
^res


Pensez-vous qu'il y aurait une meilleur façon de faire ? (plus élégante ou qui existe déjà et que j'aurai loupé...) 

En vous remerciant par avance,

--
Sébastien AUDIER

S.A.R.L Objectfusion,
Applications web, consulting,
Smalltalk developpement

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Smalltalk-fr".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [hidden email].
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.