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

對List內元素進行全排列

編輯:C#入門知識

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

class Program     {         static void Main(string[] args)         {             List<int> list = new List<int>() { 6,7,8};             foreach (var p1 in Permutate(list, list.Count))             {                 foreach (var i in p1)                     Console.Write(i.ToString() + " ");                 Console.WriteLine();             }               string strTest = "Cary";             foreach (List<char> p2 in Permutate(strTest.ToCharArray().ToList(), strTest.Length))             {                 string strTmp = new string(p2.ToArray());                 Console.Write(strTmp + " ");             }             Console.WriteLine();                  }           public static void CircleRight(IList seq, int count)         {             object tmp = seq[count - 1];             seq.RemoveAt(count - 1);             seq.Insert(0, tmp);         }           public static IEnumerable<IList> Permutate(IList seq, int count)         {             if (count == 1) yield return seq;             else             {                 for (int i = 0; i < count; i++)                 {                     foreach (var perm in Permutate(seq, count - 1))                         yield return perm;                     CircleRight(seq, count);                 }             }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved