C# arraylist对象的置换
我有一个arraylist,其中包含一些对象,我必须得到这些对象的排列?我怎么做? 假设MyList是一个包含4个对象的arraylistC# arraylist对象的置换,c#,algorithm,permutation,discrete-mathematics,C#,Algorithm,Permutation,Discrete Mathematics,我有一个arraylist,其中包含一些对象,我必须得到这些对象的排列?我怎么做? 假设MyList是一个包含4个对象的arraylist ArrayList myList = new ArrayList(); myList.Add(1); myList.Add(2); myList.Add(3); myList.Add(4); 所以arraylist计数是4,所以我想要4=24 我想要24个排列的对象。 我怎样才能在C中做到这一点。请帮助我 谢谢 您可以通过可爱的递归来实现这一点 基本情况:
ArrayList myList = new ArrayList();
myList.Add(1);
myList.Add(2);
myList.Add(3);
myList.Add(4);
所以arraylist计数是4,所以我想要4=24
我想要24个排列的对象。
我怎样才能在C中做到这一点。请帮助我
谢谢 您可以通过可爱的递归来实现这一点 基本情况:大小为1的数组的排列就是数组本身 递归情况:大小为n的数组的排列为,每个大小为n-1的排列在每个可能的位置添加第n项
这有意义吗?您可以通过可爱的递归来实现这一点 基本情况:大小为1的数组的排列就是数组本身 递归情况:大小为n的数组的排列为,每个大小为n-1的排列在每个可能的位置添加第n项
这有意义吗?可能是这样,但没有经过测试
public static IEnumerable<string> permute(string s){
if (s.Count() > 1)
return from c in s
from p in permute(s.Remove(s.IndexOf(c), 1))
select string.Format("{0}{1}", c, p);
else
return new string[] { s };
}
可能是这样,但没有经过测试
public static IEnumerable<string> permute(string s){
if (s.Count() > 1)
return from c in s
from p in permute(s.Remove(s.IndexOf(c), 1))
select string.Format("{0}{1}", c, p);
else
return new string[] { s };
}
斯坦福大学的课程《编程抽象》很好地解释了递归解决方案
斯坦福大学的课程《编程抽象》很好地解释了递归解决方案
这是一篇深入介绍NXTX置换的C++实现的好文章。是的,它是C++的,但是语法没有太大的不同,解释也很好。欢呼。
< P>这是一篇深入介绍NXTX置换的C++实现的好文章。是的,它是C++的,但是语法没有太大的不同,解释也很好。干杯。查看此库:查看此库:只需谷歌搜索有关排列和组合的示例。没那么难。。。这已经被问了100次了。让我帮你用谷歌搜索一下:很好,你用“家庭作业”标记了这个问题。谷歌只是一个关于排列和组合的例子。没那么难。。。这已经被问了100次了。让我帮你谷歌一下:你把问题标上了“家庭作业”标签,这很好,因为你再也找不到那个链接了。不过,这似乎也是一个不错的链接:再也找不到那个链接了。不过,这似乎也是个不错的选择: