程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 對List內元素子集合進行組合排列

對List內元素子集合進行組合排列

編輯:C#入門知識

對List中元素子集合進行組合排列,使用了遞歸,代碼如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections;   namespace ConsoleApplication2 {     class Program     {         static void Main(string[] args)         {                                     CombinationsPermutations("asdf", 3);                 }           private static void RotateLeft<T>(IList<T> sequence, int start, int count)         {             T tmp = sequence[start];             sequence.RemoveAt(start);             sequence.Insert(start + count - 1, tmp);         }           public static IEnumerable<IList<T>> Combinations<T>(             IList<T> sequence,             int start,             int count,             int choose)         {             if (choose == 0) yield return sequence;             else             {                 for (int i = 0; i < count; i++)                 {                     foreach (var perm in Combinations(                                                 sequence,                                                 start + 1,                                                 count - 1 - i,                                                 choose - 1))                         yield return perm;                     RotateLeft(sequence, start, count);                 }             }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved