Liste toutes les combinaisons dans une liste de valeurs
En C#, étant donné une liste dynamique d'entiers, il est souvent nécessaire de générer toutes les combinaisons possibles de ses éléments. Par exemple, pour la liste {1, 2, 3}, vous devez générer la combinaison suivante :
<code>{1, 2, 3} {1, 2} {1, 3} {2, 3} {1} {2} {3}</code>
Pour ce faire, utilisez l'algorithme suivant :
Le code C# fourni démontre l'implémentation de cet algorithme :
<code class="language-csharp">static void Main(string[] args) { GetCombination(new List<int> { 1, 2, 3 }); } static void GetCombination(List<int> list) { double count = Math.Pow(2, list.Count); for (int i = 1; i < count; i++) { string binary = Convert.ToString(i, 2).PadLeft(list.Count, '0'); List<int> combination = new List<int>(); for (int j = 0; j < binary.Length; j++) { if (binary[j] == '1') { combination.Add(list[j]); } } Console.WriteLine(string.Join(", ", combination)); } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!