從運行時大小的數值清單中產生所有可能的組合
在典型的程式設計場景中,您會遇到需要從給定的整數清單中產生所有元素的可能組合的情況。要在 C# 中實現這一點,請按照以下步驟操作:
List<int>
來適應運行時任意數量的元素。 以下是實現此演算法的範例程式碼:
<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>
使用此演算法,您可以有效地產生清單中所有元素的可能組合,而不管其大小如何。
以上是如何在 C# 中從運行時大小的清單產生所有可能的組合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!