Je suis aux prises avec cet algorithme que j'ai besoin d'écrire. J'utilise C#. Dire que j'ai un List<Bag>
et que j'ai un List<Lunch>
. J'ai besoin d'écrire un algorithme qui énumérera toutes les permutations de déjeuners dans tous les sacs.Algorithmes de permutation en C#
Par exemple, disons il y a 3 déjeuners et 2 sacs:
// Permutation 1
Bag 1, Lunch 1
Bag 2, Lunch 1
// Permutation 2
Bag 1, Lunch 1
Bag 2, Lunch 2
// Permutation 3
Bag 1, Lunch 1
Bag 2, Lunch 3
// Permutation 4
Bag 1, Lunch 2
Bag 2, Lunch 1
// Permutation 5
Bag 1, Lunch 2
Bag 2, Lunch 2
// Permutation 6
Bag 1, Lunch 2
Bag 2, Lunch 3
// Permutation 7
Bag 1, Lunch 3
Bag 2, Lunch 1
// Permutation 8
Bag 1, Lunch 3
Bag 2, Lunch 2
// Permutation 9
Bag 1, Lunch 3
Bag 2, Lunch 3
Les deux permutations Bag 1 Lunch 1 and Bag 2 Lunch 2
et Bag 1 Lunch 2 and Bag 2 Lunch 1
sont différents parce que les sacs ont des capacités différentes, d'où ils doivent tous deux être énumérés.
Le nombre de sacs et déjeuners peut être n'importe quel nombre.
J'ai créé une classe appelée BagLunch
qui contient une paire de sac et de lunch. La liste d'exemples que j'ai donnée ci-dessus serait stockée dans un List<BagLunch>
.
Merci.
Je ne comprends pas votre exemple. Il y a plusieurs lignes qui listent 'Bag 1, Lunch 1'. Quelles sont les règles pour les doublons dans les permutations? –
Désolé, j'ai ajouté l'espacement. Chaque groupe est une permutation. – user1002358
ce ne sont pas des permutations .. – duedl0r