Maison >développement back-end >C++ >Comment générer toutes les combinaisons possibles à partir d'une liste de taille d'exécution en C# ?
Générer toutes les combinaisons possibles à partir d'une liste de valeurs de la taille de l'exécution
Dans un scénario de programmation typique, vous rencontrerez une situation où vous devrez générer toutes les combinaisons possibles d'éléments à partir d'une liste d'entiers donnée. Pour y parvenir en C#, suivez ces étapes :
List<int>
générique pour prendre en charge n'importe quel nombre d'éléments au moment de l'exécution. Ce qui suit est un exemple de code qui implémente cet algorithme :
<code class="language-csharp">using System; using System.Collections.Generic; public class CombinationGenerator { public static void Main(string[] args) { GenerateCombinations(new List<int> { 1, 2, 3 }); } public static void GenerateCombinations(List<int> list) { int count = (int)Math.Pow(2, list.Count); for (int i = 1; i < count; i++) { List<int> combination = new List<int>(); string binary = Convert.ToString(i, 2).PadLeft(list.Count, '0'); for (int j = 0; j < binary.Length; j++) { if (binary[j] == '1') { combination.Add(list[j]); } } Console.WriteLine(string.Join(", ", combination)); } } }</code>
En utilisant cet algorithme, vous pouvez générer efficacement toutes les combinaisons possibles d'éléments dans une liste, quelle que soit leur taille.
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!